Heim >Backend-Entwicklung >Python-Tutorial >Hier sind einige Titeloptionen, die das Fragenformat hervorheben: * **STATIC_FILES_DIR, STATIC_ROOT und MEDIA_ROOT: Was ist der Unterschied und wann verwende ich sie jeweils?** * **Django-Bereitstellung: Warum STATI

Hier sind einige Titeloptionen, die das Fragenformat hervorheben: * **STATIC_FILES_DIR, STATIC_ROOT und MEDIA_ROOT: Was ist der Unterschied und wann verwende ich sie jeweils?** * **Django-Bereitstellung: Warum STATI

Linda Hamilton
Linda HamiltonOriginal
2024-10-27 05:12:29363Durchsuche

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

Unterschiede zwischen STATIC_FILES_DIR, STATIC_ROOT und MEDIA_ROOT

Entwicklung vs. Bereitstellung

In der Entwicklung ist STATIC_ROOT praktisch nutzlos, da Django automatisch statische Dateien bereitstellt Das Verzeichnis jeder App. Während der Bereitstellung ist STATIC_ROOT für Nginx von entscheidender Bedeutung, um statische Inhalte zu finden und bereitzustellen.

Zweck von STATIC_ROOT

STATIC_ROOT gibt den Speicherort an, an dem Django alle statischen Dateien sammelt und ausgibt, nachdem Sie manage.py Collectstatic ausgeführt haben . Auf diesen Speicherort sollte der Webserver (z. B. Nginx), der Ihre Website bereitstellt, zugreifen können.

Zusätzliche Verzeichnisse: STATICFILES_DIRS

STATICFILES_DIRS ist eine optionale Einstellung, mit der Sie zusätzliche Verzeichnisse für die Suche durch Collectstatic einbeziehen können für statische Dateien. Dies ist nützlich, wenn Sie statische Dateien außerhalb der Standard-App-Verzeichnisse haben.

Verstehen des Problems

Basierend auf dem von Ihnen bereitgestellten Code scheint es, dass Sie anfangs Probleme hatten, weil die JS-Datei war nicht am durch STATIC_ROOT angegebenen Speicherort gefunden. Dies liegt daran, dass admin.py nach Dateien im Unterverzeichnis admin/ von STATICFILES_DIRS und nicht in STATIC_ROOT sucht.

Durch den Wechsel zu STATICFILES_DIRS konnten Sie dieses Problem beheben, da es den Pfad enthält, in dem sich die JS-Datei befindet.

Zusammenfassung

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

Das obige ist der detaillierte Inhalt vonHier sind einige Titeloptionen, die das Fragenformat hervorheben: * **STATIC_FILES_DIR, STATIC_ROOT und MEDIA_ROOT: Was ist der Unterschied und wann verwende ich sie jeweils?** * **Django-Bereitstellung: Warum STATI. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn