2016-07-15 19 views
1

zurückkehrt Wenn ich get_object_or_404(), zeigt Django meine korrekte Fehlerseite aber NGINX gibt nach wie vor:Django mit gunicorn und nginx nicht 404 oder 500

HTTP/1.1 200 OK 
Server: nginx 

tl; tr

Jede Seite gibt 200 oder (wenn 500) Zeitüberschreitung. Was ist hier falsch?

NGINX conf:

location/{ 
     proxy_pass http://unix:/opt/repo/page.sock; 
     proxy_set_header X-Forwarded-Host $server_name; 
     proxy_set_header X-Real-IP $remote_addr; 
} 

urls.py

from django.conf import settings 

handler404 = 'my_app.views.page_not_found' 

Antwort

1

Sie sollten die Handler-Setup, kann dies auf diese Weise geschehen:

from django.utils.functional import curry 

handler404 = curry(page_not_found, template_name='404.html') 
handler500 = curry(page_not_found, template_name='500.html') 
handler403 = curry(page_not_found, template_name='403.html') 

Ich habe dies getan in meinem urls.py, aber es kann auch in s

getan werden