Отображение изображения на странице статуса 500 (Django)

У меня есть приложение Django с nginx в качестве обратного прокси-сервера. Я хочу разместить изображение на моей странице с ошибкой 500. Как мне это сделать в проекте Django?


Я попробовал совет здесь. Т.е. мой файл виртуального хоста для 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. Что я делаю не так? Пожалуйста, запросите дополнительную информацию, если она вам понадобится.


person Hassan Baig    schedule 12.06.2017    source источник


Ответы (2)


Вы пытаетесь загрузить изображение размером 500.png в текущий каталог.

Измените на:

<img src="/500.png" alt=".">
person sergiogarciadev    schedule 12.06.2017

Попробуйте удалить косую черту в конце URL-адреса img,

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; 
            }
person zaidfazil    schedule 12.06.2017