Django 500 错误页面未加载 CSS 文件
Django 500 Error page doesn't load CSS file
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 文件
<link rel="stylesheet" type="text/css" href="{% static 'style.css' %}"/>
在终端中看起来一切正常,但仍然无法加载。
"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
解决了错误
在这一点上,我想知道如果我想在服务器上托管网站,我该如何解决这个问题?为什么在没有 运行 服务器的情况下不为错误页面加载静态文件?
这通常是我呈现的 Django 模板标签:{% load static %}。有时要注意空格。而且,我在页面顶部包含静态内容。
manage.py runserver
命令启动 Django 开发服务器,该服务器不用于生产,因此停止服务DEBUG=FALSE
.
时的静态文件
正如您在编辑中指出的那样,您可以在启动服务器 (see the documentation here) 时使用 --insecure
选项绕过此安全措施。但这显然是一种不安全且低效的解决方案。
因此您可以使用真正的 HTTP 服务器提供静态文件(提供了一些示例和教程 here) or you can have a look to the very popular WhiteNoise 应用程序来帮助您做到这一点。
在 setting.py
中保持 DEBUG=TRUE
文档:https://docs.djangoproject.com/en/3.2/ref/settings/
当 DEBUG 为 True 时,通过 Django 提供静态文件。
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 文件
<link rel="stylesheet" type="text/css" href="{% static 'style.css' %}"/>
在终端中看起来一切正常,但仍然无法加载。
"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
解决了错误
在这一点上,我想知道如果我想在服务器上托管网站,我该如何解决这个问题?为什么在没有 运行 服务器的情况下不为错误页面加载静态文件?
这通常是我呈现的 Django 模板标签:{% load static %}。有时要注意空格。而且,我在页面顶部包含静态内容。
manage.py runserver
命令启动 Django 开发服务器,该服务器不用于生产,因此停止服务DEBUG=FALSE
.
正如您在编辑中指出的那样,您可以在启动服务器 (see the documentation here) 时使用 --insecure
选项绕过此安全措施。但这显然是一种不安全且低效的解决方案。
因此您可以使用真正的 HTTP 服务器提供静态文件(提供了一些示例和教程 here) or you can have a look to the very popular WhiteNoise 应用程序来帮助您做到这一点。
在 setting.py
中保持 DEBUG=TRUE文档:https://docs.djangoproject.com/en/3.2/ref/settings/
当 DEBUG 为 True 时,通过 Django 提供静态文件。