En développement, STATIC_ROOT est effectivement inutile, car Django sert automatiquement les fichiers statiques de le répertoire de chaque application. Pendant le déploiement, STATIC_ROOT devient crucial pour que Nginx localise et diffuse du contenu statique.
STATIC_ROOT spécifie l'emplacement où Django collectera et affichera tous les fichiers statiques après avoir exécuté manage.py collectstatic . Cet emplacement doit être accessible par le serveur Web (par exemple, Nginx) qui dessert votre site Web.
STATICFILES_DIRS est un paramètre facultatif qui vous permet d'inclure des répertoires supplémentaires pour que collectstatic effectue une recherche. pour les fichiers statiques. Ceci est utile si vous avez des fichiers statiques en dehors des répertoires d'applications par défaut.
D'après le code que vous avez fourni, il semble que vous rencontriez initialement des problèmes car le fichier JS était introuvable à l'emplacement spécifié par STATIC_ROOT. En effet, admin.py recherche les fichiers dans le sous-répertoire admin/ de STATICFILES_DIRS, et non dans STATIC_ROOT.
En passant à STATICFILES_DIRS, vous avez pu résoudre ce problème car il inclut le chemin où se trouve le fichier JS.
Setting | Purpose | Deployment |
---|---|---|
STATIC_FILES_DIR | Additional directories for static files | n/a |
STATIC_ROOT | Location where static files are collected | Required |
MEDIA_ROOT | Location for user-uploaded files | n/a |
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!