2016-07-14 3 views
1

Это служит медиа-файлы правильно:Джанго не служит медиа-файлы, если я проверить settings.DEBUG

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

Это не служат медиа-файлов:

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) 

documentation пишет «Это не подходит для использования в производстве! », поэтому мне нужен способ проверить DEBUG перед подачей мультимедийных файлов. Как мне это сделать. Почему этот подход не работает?

+1

развития работает в одном или два потока, поэтому он очень ограничен, поэтому вы запрашиваете один за другим - медленно, плюс каждый статический файл обслуживается с использованием основных операций open-read-send-close без каких-либо преимуществ os (например, sendfile, ноль -copy) - проверьте uwsgi - он достаточно прочен и хорошо работает с django – Jerzyk

ответ

4

Использование

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

(уведомление «=» после «+» - в вашей версии вы добавляете static() шаблоны, но не назначая результат переменной urlpatterns) сервер

+0

Правда, какая очевидная ошибка. Спасибо чувак. – alejoss