如何在Django中显示自定义404.html页面

时间:2014-03-24 16:49:05

标签: python django django-views django-urls

我想在最终用户输入错误的网址时显示自定义404错误页面,我试过但我只得到Django默认的404页面。我使用的是Python(2.7.5),Django(1.5.4)

我的代码

urls.py

from django.conf.urls import patterns, include, url
from mysite import views
handler404 = views.error404

urlpatterns = patterns('',
url(r'^$', 'mysite.views.home', name='home'),
)

views.py

from django.http import HttpResponse
from django.shortcuts import render
from django.template import Context, loader

def home(request):
     return HttpResponse("welcome to my world")

def error404(request):
     template = loader.get_template('404.html')
     context = Context({'message': 'All: %s' % request,})
     return HttpResponse(content=template.render(context), content_type='text/html; charset=utf-8', status=404)

我已将404.html页面放在模板目录中。如何处理...?

1 个答案:

答案 0 :(得分:6)

自定义网址处理程序不适用于DEBUG=True。设置DEBUG=False即可。 (您还需要设置ALLOWED_HOSTS=['127.0.0.1']