Django处理404、500页面

1、在templates中添加404.html

<h1>404</h1>

2、配置setting.py

需要把“DEBUG =True” 改为“DEBUG =False”,否则配置的404页面不会生效,这个参数更改后,django会默认当前为生产环境,很多配置会失效,例如会加载静态文件失败,需要添加添加“STATIC_ROOT = os.path.join(BASE_DIR, ‘static’)”
把ALLOWED_HOSTS = [] 改为 ALLOWED_HOSTS = [‘*’]。
修改TEMPLATES 里面的 DIRS。

DEBUG = False
ALLOWED_HOSTS = ['*']
TEMPLATES = [
    {'DIRS': [os.path.join(BASE_DIR, 'templates')],
    },
]
'''在配置了“DEBUG = False”时,使django能加载静态文件'''
STATIC_ROOT = os.path.join(BASE_DIR, 'static')

3、在views.py里添加处理404页面的方法

from django.shortcuts import render_to_response
class PageNotFound(View):
    def get(self,request):
        return render_to_response('404.html')

4、在urls.py里添加PageNotFound的url

from django.conf.urls import url
from apps.test.views import PageNotFound
urlpatterns = [
    '''此处省略'''
]
handler404 = PageNotFound.as_view()

这样就能正常显示404页面了。500页面与之类似,只要在ivews.py里定义处理500页面的方法、在urls.py里添加“handler500”就行了。

你可能感兴趣的:(Django处理404、500页面)