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

Displaying image in 500 status page (Django)

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


我尝试了建议 here。 IE。我的 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 错误页面加载正确,但图像本身从未加载,退回到 img 标记中的 alt。我做错了什么?如果您需要,请询问更多信息。

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

您正在尝试加载当前目录中的 500.png 图片。

更改为:

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

尝试删除 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; 
            }