Maison >développement back-end >Tutoriel Python >Voici quelques options de titre, mettant l'accent sur le format de la question : * **STATIC_FILES_DIR, STATIC_ROOT et MEDIA_ROOT : quelle est la différence et quand dois-je les utiliser ?** * **Déploiement de Django : pourquoi STATI

Voici quelques options de titre, mettant l'accent sur le format de la question : * **STATIC_FILES_DIR, STATIC_ROOT et MEDIA_ROOT : quelle est la différence et quand dois-je les utiliser ?** * **Déploiement de Django : pourquoi STATI

Linda Hamilton
Linda Hamiltonoriginal
2024-10-27 05:12:29363parcourir

Here are a few title options, emphasizing the question format:

* **STATIC_FILES_DIR, STATIC_ROOT, and MEDIA_ROOT: What's the Difference and When Do I Use Each?**
* **Django Deployment: Why Are STATIC_ROOT and STATICFILES_DIRS So Important?**
* **Underst

Différences entre STATIC_FILES_DIR, STATIC_ROOT et MEDIA_ROOT

Développement vs. Déploiement

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.

Objectif de STATIC_ROOT

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.

Répertoires supplémentaires : STATICFILES_DIRS

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.

Comprendre le problème

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.

Résumé

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!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn