Ich habe MyApp / static / MyApp-Verzeichnis
Wenn ich ./manage.py collectstatic ausführe, erwarte ich, dass das MyApp-Verzeichnis nach STATIC_ROOT kopiert wird, aber nicht
Ich habe auch DownloadedApp / static / DownloadedApp und es ist in STATIC_ROOT kopiert.
Was vermisse ich?
Was sind STATIC_ROOT
, STATICFILES_FINDERS
und STATICFILES_DIRS
in settings.py
?
Wenn collectstatic
ausgeführt wird, erfasst der Standardcode STATICFILES_FINDERS
value django.contrib.staticfiles.finders.FileSystemFinder
Ihre statischen Dateien von allen Pfaden, die Sie in STATICFILES_DIRS
haben.
Der andere Standardcode STATICFILES_FINDERS
value django.contrib.staticfiles.finders.AppDirectoriesFinder
wird im Ordner /static/
aller Apps in Ihrem INSTALLED_APPS
angezeigt.
Alle gefundenen statischen Dateien werden im angegebenen Verzeichnis STATIC_ROOT
abgelegt.
Schauen Sie sich diesen Link zu den Collectstatic-Dokumenten an
Und dieser Link erklärt die verschiedenen statischen Einstellungen in settings.py
Sie können auch python manage.py findstatic
verwenden, um zu sehen, in welchen Verzeichnissen collectstatic
nachsehen wird.
Das ist mir gerade passiert und ich habe versehentlich das Verzeichnis für statische Dateien der App in die .gitigore-Datei eingefügt. Also auf meiner lokalen Maschine wurde es gut gesammelt, aber in der Produktion fehlten die statischen Dateien tatsächlich (gitignored).