갈루아의 반서재

Django 환경에서 http 404 및 http 500 에러 메시지 커스토마이징하는 법


1. 먼저 DEBUG 모드를 종료한다.

settings.py

1
2
3
DEBUG = False
 
ALLOWED_HOSTS = ['www.pywiki.xyz']
cs


2. urls.py 파일에 아래 내용 삽입

urls.py

1
2
3
4
5
6
7
8
from django.conf.urls import (
 handler400, handler403, handler404, handler500
)
 
handler400 = 'blog.views.bad_request'
handler403 = 'blog.views.permission_denied'
handler404 = 'blog.views.page_not_found'
handler500 = 'blog.views.server_error'
cs


3. views.py 파일에 아래 코드 삽입

views.py
1
2
3
4
5
6
7
8
9
10
11
12
13
14
from django.shortcuts import render_to_response, render, redirect
from django.template import RequestContext
 
def page_not_found(request):
    response = render_to_response('blog/page_404.html', {},
                                  context_instance=RequestContext(request))
    response.status_code = 404
    return response
 
def server_error(request):
    response = render_to_response('blog/page_500.html', {},
                                  context_instance=RequestContext(request))
    response.status_code = 500
    return response
cs




아래는 적용된 모습이다.