Si le mode de débogage est défini sur False sur un serveur tel que Heroku ou GAE (Google App Engine), les fichiers statiques fournis par Django pour le développement ne seront pas fournis et CSS, JS, img, etc. peuvent ne pas s'afficher. Il y a.
Je peux donc résoudre ce problème en téléchargeant un fichier statique sur Google Cloud Storage, et je voudrais expliquer comment le faire.
Documentation officielle de Django Strage (Google Cloud Storage) https://django-storages.readthedocs.io/en/latest/backends/gcloud.html
Installez Django Strage (Google Cloud Storage)
, une bibliothèque Django pour travailler avec Google Cloud Strage sur Django, avec pip.
bash
$ pip install django-storages[google]
Depuis Google Cloud Platform, enregistrez vos identifiants Cloud Strage et obtenez un fichier JSON contenant vos identifiants.
Vous pouvez l'obtenir à partir du guide de démarrage Google (https://cloud.google.com/docs/authentication/getting-started).
étape 1 À partir du lien dans le guide de démarrage Google (https://cloud.google.com/docs/authentication/getting-started), sélectionnez "Accéder à la page [Créer une clé de compte de service]"
Étape 2 Entrez le nom du compte de service dans Créer un nouveau compte de service. Sélectionnez ensuite "Stockage" -> "Administrateur de stockage" dans le rôle. Assurez-vous que le type de clé est JSON et cliquez sur le bouton "Créer". Cela téléchargera le fichier JSON.
** Placez le fichier JSON téléchargé dans le répertoire racine de votre projet Django. ** **
L'unité de Cloud Strage s'appelle un bucket (c'est-à-dire un bucket dans lequel placer des données) Créez-le pour stocker vos données.
Google Cloud Console (Cloud Strage) https://console.cloud.google.com/storage/browser
Si vous accédez à partir de l'URL ci-dessus, vous verrez l'écran de création suivant, alors créez un nouveau compartiment.
Une fois terminé, l'écran ci-dessous s'affiche.
Ceci termine les paramètres de la console Google Cloud Platform.
Définissez le stockage par défaut et le nom du compartiment dans le fichier settings.py.
settings.py
STATIC_URL = '/static/'
STATIC_ROOT = os.path.join(BASE_DIR, 'staticfiles')
STATICFILES_STORAGE = 'storages.backends.gcloud.GoogleCloudStorage'
DEFAULT_FILE_STORAGE = 'storages.backends.gcloud.GoogleCloudStorage'
GS_BUCKET_NAME = '[YOUR_BUCKET_NAME_GOES_HERE]'
from google.oauth2 import service_account
GS_CREDENTIALS = service_account.Credentials.from_service_account_file(
os.path.join(BASE_DIR, '[YOUR_AUTHENTICATON_KEY_FILE_NAME].json'),
)
Ceci termine les réglages.
Après cela, exécutons la commande suivante.
bash
$ python manage.py collectstatic
Et le déploiement des modifications de configuration sur le serveur devrait fonctionner.
Je vous remercie pour votre travail acharné.