Ich konnte nicht verstehen, wie man mit statischen Dateien in Django umgeht.
Ich habe es nachgeschlagen und auf meine Weise zusammengefasst.
Abhängig von der Site, auf die sich der Speicherort des statischen Verzeichnisses bezieht
Wenn das Design anders ist, werden Sie nicht verstehen ...
STATIC_ROOT
、STATIC_URL
、STATICFILES_DIRS
Es war nicht so schwierig, diese drei Bedeutungen zu verstehen ...
settings.py
STATIC_ROOT = os.path.join(BASE_DIR,'static')
Während des Betriebs eines lokalen Servers ist Django kostenlos Weil es automatisch nach einem statischen Verzeichnis direkt unter jedem Anwendungsverzeichnis sucht Es scheint, dass Sie sich dessen nicht bewusst sein müssen.
Einstellungen sind jedoch erforderlich, wenn der Produktionswebserver statische Dateien verwalten soll. Wenn Sie möchten, dass ein Produktionswebserver diese statischen Dateien verwaltet, Es wurde notwendig, diese Dateien an einem Ort zu sammeln, Es scheint, dass die Rolle dieses STATIC_ROOT darin besteht, zu entscheiden, wo es gesammelt werden soll.
Als ich also den Befehl $ python manage.py collectstatic
eingab,
Geben Sie das Ziel an, um die statischen Dateien jeder Anwendung als Einstellungswert zu aggregieren.
Standardmäßig gibt es hier keine Beschreibung, daher müssen Sie diese selbst hinzufügen.
settings.py
STATIC_URL = '/static/'
Ein Einstellungswert, der die URL bestimmt, unter der eine statische Datei veröffentlicht wird. Beispiel: Wenn Sie "/ static /" verwenden, sieht jede statische Datei wie "domain / static / ????" aus Sie können darauf zugreifen.
Sofern Sie nicht besonders darauf eingehen, scheint es kein Problem mit / static / zu geben, das standardmäßig aufgelistet ist.
settings.py
STATICFILES_DIRS = (
os.path.join(BASE_DIR, "static"),
)
Während des Betriebs eines lokalen Servers ist Django kostenlos Es wird automatisch nach einem statischen Verzeichnis direkt unter jedem App-Verzeichnis gesucht. Wenn nicht als statisches Dateiverzeichnis Wenn Sie ein Verzeichnis erkennen möchten, können Sie es mit STATICFILES_DIRS festlegen. Grundsätzlich sollte es nicht notwendig sein.
Recommended Posts