我正准备部署我的Django应用程序时,我注意到当我将“DEBUG”设置为False时,所有静态文件的引用(即JavaScript、CSS等)都会导致HTTP 500错误。你有什么想法是什么原因造成了这个问题(以及如何解决它)?
我强烈建议让你的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'})
你还必须在各个地方检查你的URL。当DEBUG设置为False时,所有没有尾随“/”的URL都被视为错误,而当DEBUG = True时,Django会在缺少“/”的地方自动添加。因此,简而言之,请确保所有链接在任何地方都以斜杠结尾。