Ich bin verwirrt von static root
und möchte Dinge klären.
Um statische Dateien in Django bereitzustellen, sollte Folgendes in settings.py
und enthalten sein urls.py
:
import os
PROJECT_DIR=os.path.dirname(__file__)
1. Absoluter Pfad zu dem Verzeichnis, in dem statische Dateien gesammelt werden sollen
STATIC_ROOT= os.path.join(PROJECT_DIR,'static_media/')
2. URL-Präfix für statische Dateien
STATIC_URL = '/static/'
3. Zusätzliche Speicherorte für statische Dateien
STATICFILES_DIRS = ( os.path.join(PROJECT_DIR,'static/'),)
... und in urls.py
folgenden Zeilen:
from django.contrib.staticfiles.urls import staticfiles_urlpatterns
urlpatterns += patterns('', (
r'^static/(?P<path>.*)$',
'django.views.static.serve',
{'document_root': settings.STATIC_ROOT}
))
4. Wir verwenden auch python manage.py collectstatic
Fragen:
Könnte mir bitte jemand den Workflow erklären: Wie sollte man idealerweise vorgehen? Ab sofort kopiere / füge ich die obigen Codefragmente an die angegebenen Speicherorte ein und erstelle weiterhin neue Dateien im statischen Verzeichnis, und es funktioniert. In meinem habe
settings.STATIC_ROOT
ich jedoch auf ein anderes Verzeichnis verwiesen.Es wäre großartig, wenn jemand den Workflow jeder Einstellung erklären könnte: wie Dateien gesammelt und verwaltet werden und was eine gute Vorgehensweise wäre.
Vielen Dank.
if settings.DEBUG:
Django statische Medien nicht sehr gut bedient. Dies sollte einem echten Webserver überlassen bleiben.