2017-06-12 3 views
0

Ich habe eine Django App mit nginx als Reverse Proxy Webserver. Ich möchte ein Bild auf meiner 500-Fehlerseite bereitstellen. Wie mache ich das in einem Django-Projekt?Bild in 500 Statusseite (Django) anzeigen


Ich versuchte den Rat here. I.e. meine virtuelle Host-Datei für nginx enthält:

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

Aber, obwohl die 500:

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/; 
} 

Beachten Sie, dass in der Tat 500.png bei /home/myuser/myproject/myapp/static/img/500.png .Der HTML-Vorlage zu dem Bild 500 Fehler wie so bezieht sich platziert Die Fehlerseite wird korrekt geladen, das Bild selbst wird nie geladen und fällt zurück auf alt im Tag img. Was könnte ich falsch machen? Bitte fragen Sie nach weiteren Informationen, falls Sie diese benötigen.

Antwort

1

Sie versuchen, ein 500.png Bild auf dem aktuellen Verzeichnis zu laden.

Wechseln zu:

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

Versuchen Sie, den Schrägstrich in der img URL zu entfernen,

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; 
      }