【问题标题】:Django 500 Error page doesn't load CSS fileDjango 500 错误页面不加载 CSS 文件
【发布时间】:2021-09-05 23:28:30
【问题描述】:

即使输入正确,500 错误处理程序模板也不会加载 CSS。 例如,我的主页模板使用相同的方法正确加载 CSS 这是 500.html 模板

    <html>
        <head>
            {%load static%}
            <meta charset="utf-8">
            <meta http-equiv="X-UA-Compatible" content="IE=edge">
            <meta name="viewport" content="width=device-width, initial-scale=1">
        
            <title>500</title>
        
            <link rel="stylesheet" type="text/css" href="{% static 'style.css' %}"/>
        
        </head>
        
        <body>
         html code here
        </body>
        
        </html>

这应该从静态文件夹加载 style.css 文件

&lt;link rel="stylesheet" type="text/css" href="{% static 'style.css' %}"/&gt;

在终端中看起来一切正常,但仍然无法加载。

"GET /static/style.css HTTP/1.1" 200 734

如果我尝试访问 127.0.0.1:8000/static/main.css(用于主页的那个),它会显示它应该如何访问

如果我尝试访问 127.0.0.1:8000/static/style.css 它会给我一个错误

我不知道这是否重要,但我正在使用 DEBUG = False 进行此操作

编辑:我通过使用py manage.py runserver --insecure 运行服务器解决了错误 在这一点上,我想知道如果我想在服务器上托管网站,我该如何解决这个问题?为什么它不为错误页面加载静态文件而不像那样运行服务器?

【问题讨论】:

    标签: python html css django http-status-code-500


    【解决方案1】:

    在 setting.py 中保持 DEBUG=TRUE

    文档:https://docs.djangoproject.com/en/3.2/ref/settings/

    当 DEBUG 为 True 时,通过 Django 提供静态文件。

    【讨论】:

      【解决方案2】:

      manage.py runserver 命令启动 Django 开发服务器,该服务器打算在生产中使用,因此在DEBUG=FALSE 时停止提供静态文件.

      正如您在编辑中指出的那样,您可以在启动服务器 (see the documentation here) 时使用--insecure 选项绕过此安全性。但这显然是一个不安全且低效的解决方案。

      因此,您可以使用真正的 HTTP 服务器提供静态文件(一些示例和教程在 here 中提供),或者您可以查看非常流行的 WhiteNoise 应用程序来帮助您做到这一点。

      【讨论】:

        【解决方案3】:

        这通常是我渲染 django 模板标签:{% load static %}。有时注意空格。而且,我在页面顶部包含静态。

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 2020-10-21
          • 1970-01-01
          • 1970-01-01
          • 2011-11-18
          • 2011-06-30
          • 2020-12-30
          • 2020-07-06
          • 1970-01-01
          相关资源
          最近更新 更多