netpastor
10/8/2016 - 8:40 AM

Django custom error pages

Django custom error pages

# urls.py

from django.conf.urls import (
    handler400, handler403, handler404, handler500
)

handler400 = 'my_app.views.bad_request'
handler403 = 'my_app.views.permission_denied'
handler404 = 'my_app.views.page_not_found'
handler500 = 'my_app.views.server_error'

# ...

# views.py

from django.shortcuts import (
    render_to_response
)
from django.template import RequestContext

# HTTP Error 400
def bad_request(request):
    response = render_to_response(
        '400.html',
        context_instance=RequestContext(request)
    )
    
    response.status_code = 400
    
    return response

# ...