2016-07-14 6 views
1

Dies korrekt die Mediendateien dient:Django keine Mediendateien dienen, wenn ich für settings.DEBUG überprüfen

urlpatterns = [ 
... 
] + static(settings.MEDIA_URL, document_root=settings.MEDIA_ROOT) 

Dies dient nicht die Mediendateien:

from django.conf import settings 
from django.conf.urls.static import static 

urlpatterns = [ ... ] 

if settings.DEBUG: 
    urlpatterns + static(settings.MEDIA_URL, document_root=settings.MEDIA_ROOT) 

Die documentation schreibt: „Diese ist nicht für den Produktionseinsatz geeignet! ", deshalb brauche ich eine Möglichkeit, nach DEBUG zu suchen, bevor Mediendateien bereitgestellt werden. Wie kann ich das machen. Warum funktioniert dieser Ansatz nicht?

+1

Entwicklungs-Server befindet sich in einem laufenden oder zwei Threads, so ist es Thrutput ist sehr begrenzt, so dass Sie Anfrage werden nacheinander bedient - langsam, plus jede statische Datei wird bedient mit grundlegenden open-read-send-close-Operationen, ohne irgendwelche Vorteile os (z. B. Sendedatei, Null -copy) - überprüfen Sie uwsgi - es ist sehr robust und funktioniert gut mit Django – Jerzyk

Antwort

4

Verwenden

if settings.DEBUG: 
    urlpatterns += static(settings.MEDIA_URL, document_root=settings.MEDIA_ROOT) 

(notice '=' nach '+' - in der Version, die Sie static() Muster hinzufügen, aber nicht das Ergebnis an die urlpatterns Variablen zugewiesen wird)

+0

Richtig, was für ein offensichtlicher Fehler. Danke, Mann. – alejoss