django-如何在404.html模板中处理静态文件

时间:2017-02-15 17:56:44

标签: django django-templates django-views django-extensions


根据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>

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

2 个答案:

答案 0 :(得分:1)

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

答案 1 :(得分:0)

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