在500状态页面中显示图像(Django)

时间:2017-06-12 16:05:28

标签: django nginx http-status-code-500

我有一个带有nginx的Django应用程序作为反向代理Web服务器。我想在我的500错误页面中提供图像。我如何在Django项目中做到这一点?

我尝试了建议here。即我的nginx虚拟主机文件包含:

error_page 500 502 503 504 /500.html;
location = /500.html {
    root /home/myuser/myproject/myapp/templates/;
}

location = /500.png {
    root /home/myuser/myproject/myapp/static/img/;
}

请注意,500.png确实位于/home/myuser/myproject/myapp/static/img/500.png。HTML模板引用500错误图像,如下所示:

<img src="500.png" alt=".">

但是,虽然500错误页面正确加载,但图像本身从未加载,回退到alt标记中的img。我能做错什么?如果您需要,请询问更多信息。

3 个答案:

答案 0 :(得分:1)

{% load static %}
<img src="{% static 'img/500.png' %}" alt=".">

答案 1 :(得分:1)

您正尝试在当前目录上加载500.png图像。

更改为:

<img src="/500.png" alt=".">

答案 2 :(得分:0)

尝试删除img url中的尾部斜杠

error_page 500 502 503 504 /500.html;
    location = /500.html { root /home/myuser/myproject/myapp/templates; 
            } 
    location = /500.png { root /home/myuser/myproject/myapp/static/img; 
            }