Медиа URL Python Django не работает после установки DEBUG = True
Как указано в теме, мой медиа-адрес сайта Django возвращается 404 после попытки доступа к нему. Все работало безупречно, пока я не хотел закончить процесс разработки и установить
DEBUG = True
в settings.py, чтобы закончить сайт раз и навсегда. Когда я меняю DEBUG обратно на
DEBUG = False
это работает отлично еще раз. Понятия не имею, в чем проблема, есть предложения?
1 ответ
Это сделано специально: https://docs.djangoproject.com/en/1.7/howto/static-files/
Если вы используете django.contrib.staticfiles, как описано выше, runserver сделает это автоматически, когда для DEBUG установлено значение True.
При этом вы можете использовать следующий обходной путь, изменив urls.py
:
from django.conf import settings
from django.conf.urls.static import static
urlpatterns = patterns('',
# ... the rest of your URLconf goes here ...
) + static(settings.STATIC_URL, document_root=settings.STATIC_ROOT)
+ static(settings.MEDIA_URL, document_root=settings.MEDIA_ROOT)
Обратите внимание, что это крайне неэффективно и не рекомендуется для производственного использования. Обычно вы должны настроить свой веб-сервер (apache, nginx и т. Д.) Для обслуживания статического и мультимедийного содержимого.