设置DEBUG = True后,Python Django媒体URL不起作用

如主题所述,我的Django网站媒体网址在尝试访问后返回404.一切工作都完美无缺,直到我想结束开发过程并确定

DEBUG = True

在settings.py中使网站一劳永逸.当我将调试更改回

DEBUG = False

它再次正常工作.我不知道出什么问题了,有什么建议吗?

解决方法:

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

If you use django.contrib.staticfiles as explained above, runserver will do this automatically when DEBUG is set to 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)

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

上一篇:c-Visual Studio调试器为本机类型显示错误的值


下一篇:Android:Eclipse MAT似乎没有显示我所有应用程序的对象