为什么当debug设置为false时,Django应用程序无法加载静态文件?

7 浏览
0 Comments

为什么当debug设置为false时,Django应用程序无法加载静态文件?

我正在使用Django开发一个应用程序。到目前为止,一切都很好 - 指定了数据库设置,配置了静态目录,urls,views等。但是在我想渲染自己美丽而自定义的404.html和500.html页面的时候,问题开始悄悄地蔓延。

我阅读了关于自定义错误处理的文档,在UrlsConf中设置了必要的配置,创建了相应的views,并将404.html和500.html添加到我的应用程序的模板目录中(也在settings.py中指定)。

但是,文档说在调试关闭之前,你甚至不能查看自定义错误视图,所以我关掉了调试来测试我的代码,那时问题就开始变得疯狂了!

不仅我无法查看自定义的404.html页面(实际上,它确实加载了,但由于我的错误页面每个都包含一个图形错误消息 - 如一些漂亮的图像),错误页面的源代码已经加载了,但是没有其他内容加载!甚至没有链接的CSS或JavaScript!

一般情况下,一旦我设置DEBUG = False,所有的视图都会加载,但是任何链接的内容(CSS、JavaScript、图像等)都不会加载!发生了什么?在静态文件和DEBUG设置方面有什么我没有注意到的问题吗?

admin 更改状态以发布 2023年5月21日
0
0 Comments

在关闭调试后,Django不再处理静态文件 - 您的生产Web服务器(如Apache)应该负责处理静态文件。

0
0 Comments

如果您仍需要在本地服务静态内容(例如测试无调试),您可以以不安全的模式运行devserver: \n

manage.py runserver --insecure

0