如主题所述,我的Django网站媒体网址在尝试访问后返回404。一切工作都完美无缺,直到我想结束开发过程并确定
DEBUG = True
在settings.py中使网站一劳永逸。当我将调试更改回
DEBUG = False
它再次正常工作。我不知道出什么问题了,有什么建议吗?
最佳答案
这是设计使然: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等)以提供静态和媒体内容。
关于python - 设置DEBUG = True后,Python Django媒体URL不起作用,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/28478159/