当前位置: 首页 > 面试题库 >

为什么DEBUG = False设置会使django静态文件访问失败?

怀宇
2023-03-14
问题内容

我正在使用Django作为我的主力构建应用程序。到目前为止,一切都很好-指定了数据库设置,配置的静态目录,URL,视图等。但是,当我想呈现自己漂亮的自定义404.html和500.html页面时,麻烦开始悄悄出现。

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

但是文档说you can actually view custom error views until Debug is Off,所以我确实将其关闭以测试我的东西,那时东西就变得发疯了!

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

通常,一旦我设置DEBUG = False,所有视图都会加载,但是任何链接的内容(CSS,Javascript,图像等)都不会加载!发生了什么?关于静态文件和DEBUG设置,是否缺少某些内容?


问题答案:

在关闭调试的情况下,Django将不再为您处理静态文件-生产Web服务器(Apache或其他服务器)应对此进行处理。



 类似资料:
  • 问题内容: main.go 目录结构: 即使阅读了文档,我仍然无法理解此处的确切功能。 1)如果删除,为什么我无法访问? 2)如果删除该功能,URL将映射到文件夹吗? 问题答案: 将请求的处理转发给您指定为其参数的对象,但在此之前,它会通过剥离指定的前缀来修改请求URL。 因此,例如,在您的情况下,如果浏览器(或HTTP客户端)请求资源: 将会剪切和将修改后的请求转发到由返回的处理程序,因此它将看

  • 问题内容: 有一次,我改变DEBUG = False,我的网站将产生500(使用WSGI和manage.py runserver命令),并且在Apache的错误日志中没有错误信息,当我改变它通常会运行debug到True。 我正在使用Django 1.5和Python 2.7.3,这是Apache访问日志,并且在apache错误日志中没有任何日志 这是我的设置文件: 问题答案: Django 1.

  • 问题内容: 这是指帖子 ..无法回复或评论任何这样创建的新帖子。为什么是我的 发出警告-应该以静态方式访问静态字段MyUnits.MILLSECONDS吗?谢谢。 问题答案: 因为当您访问静态字段时,您应该在类(或本例中为枚举)上执行此操作。如 不在实例中 编辑 要解决 为什么这样 的问题:在Java中,当您将声明为时,就是说它是类的成员,而不是对象(因此为什么只有一个)。因此,在对象上访问它是没

  • 问题内容: 无法找出合适的标题,我不理解破折号/重击的行为。也就是说,如果命令失败,我将使用set -e来纾困,并使用命令组来处理肯定的结果。 即。总体方案是: 比意味着仅在需要时才执行命令,并且失败将自动终止脚本。 可能需要一些后处理,在这种情况下,我使用以下方法: 这导致了一些奇怪的bug搜寻,因为这 不会杀死shell, 而我也无法理解原因。我现在必须遍历一些shell代码,但想了解原因。

  • 问题内容: 我无法显示我的静态文件。我尝试了各种设置和目录配置等,但是它们只是显示为404。我已经安装了debug_toolbar,所以知道STATIC_URL正在到达我的请求上下文。 显示/ static的目录结构(我还将目录和用户放置在餐应用文件夹中,只是为了尝试一下。 Settings.py(一些重要的设置,尽管我已经尝试了其他各种设置): 在base.html中呈现 问题答案: 这是dja

  • 问题内容: 我正在配置一个Django项目,该项目使用服务器文件系统来存储应用程序的静态文件()和用户上传的文件()。 我现在需要将所有内容托管在Amazon S3上,因此我为此创建了一个存储桶。使用django-storages与存储后端,我设法收集静态上传到S3斗: 然后,我遇到一个问题:存储桶中未使用和,因此存储桶根目录同时包含静态文件和用户上载的路径。 因此,我可以设置: 并在模板中使用这