设置DEBUG = True后,Python Django媒体网址无法正常工作

时间:2015-02-12 13:01:46

标签: python django debugging media media-url

如主题所述,我的Django网站媒体网址在尝试访问后返回404。在我想结束开发过程并设置

之前,一切都在完美无瑕
DEBUG = True
在settings.py中

让网站一劳永逸地完成。当我将DEBUG改回

DEBUG = False

再次正常工作。我不知道问题是什么,有什么建议吗?

1 个答案:

答案 0 :(得分:5)

这是设计使然:https://docs.djangoproject.com/en/1.7/howto/static-files/#serving-static-files-during-development

  

如果您使用django.contrib.staticfiles,如上所述,当DEBUG设置为True时,runserver将自动执行此操作。

话虽如此,您可以通过修改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)

请注意,这是非常低效的,不鼓励生产使用。您通常应该配置Web服务器(apache,nginx等)以提供静态和媒体内容。