1


根据 django 的文档:

当您从视图中引发 Http404 时,Django 会加载一个专用于处理 404 错误的特殊视图。默认情况下,它是视图 django.views.defaults.page_not_found(),如果您在根模板目录中创建模板 404.html,它会生成非常简单的“未找到”消息或加载并呈现模板。

,我在根模板目录中创建了一个 404.html 文件。当应用程序引发 404 错误时,我之前创建的这个 404.html 将显示,但它是 css 并且它的背景图像未加载。

这是 404.html 文件代码:

<!DOCTYPE html>{% load staticfiles %}
<html>
<head>
    <title>not found</title>
    <link rel="stylesheet" href="{% static 'css/error_style.css' %}"/>
    <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/4.7.0/css/font-awesome.min.css"/>
</head>
<body class="color-404">
<div id="error">
    <img class="error-image" src="{% static 'img/404.jpg' %}"/>
</div>
<div class="error-router">
    <a href="#" class="gohome"><i class="fa fa-home"></i></a>
    <a href="" onclick="window.history.back();" class="goback"><i class="fa fa-arrow-left"></i></a>
</div>
</body>
</html>

我该如何解决这个问题?坦克

4

2 回答 2

1

不是您问题的真正答案,但通常最好不要在错误页面中包含外部 .js 和 .css 文件。将它包含在页面本身中,以避免出现这种情况,由于某种原因,错误页面会产生错误。使用单个静态页面。

于 2017-02-15T20:33:11.630 回答
0

我发现了问题所在。因为我将 DEBUG 设置为 False,django 的内置网络服务器没有提供静态文件。

于 2017-03-16T12:06:42.473 回答