当Debug设置为False时,为什么Django会为静态媒体生成HTTP 500错误?

Huu*_*uze 5 deployment django debugging

我正准备部署我的Django应用程序,我注意到当我将"DEBUG"设置更改为False时,所有对静态文件的引用(即JavaScript,CSS等)都会导致HTTP 500错误.

知道是什么导致了这个问题(以及如何解决它)?

Pet*_*ers 12

我强烈建议您让Web服务器处理静态请求,而不要访问Django.在我看来urls.py,我只在debug设置为True时才添加静态请求处理程序.

从技术上讲,服务于静态的Django可以正常工作.绝对阅读简短的文档页面,http://docs.djangoproject.com/en/dev/howto/static-files/.你会想要使用这样的条目urls.py

(r'^static/(?P<path>.*)$', 'django.views.static.serve',
    {'document_root': '/path/to/media'})
Run Code Online (Sandbox Code Playgroud)


Kev*_*vin 6

听起来您可能正在尝试使用Django开发服务器来提供静态媒体.看看http://docs.djangoproject.com/en/dev/howto/deployment/一些部署场景/ HOWTO和http://docs.djangoproject.com/en/dev/howto/static-files/为如何提供静态文件(但请注意关于NOT在生产中使用这些方法的免责声明).

一般情况下,我会查看您的服务器日志,并查看它从哪里获取文件.我怀疑500错误确实是404错误,但它们变成500错误,因为Django无法找到或呈现404.html模板.如果不是这样的话,如果你能发布你得到的特定500错误会很有帮助.