1. 程式人生 > >django 自定義404,403,500頁面

django 自定義404,403,500頁面

1.設定settings.py

DEBUG = False

ALLOWED_HOSTS = ["*"] 

STATIC_URL = '/static/'
STATIC_ROOT = 'static

2.設定主urls

from . import view
 
urlpatterns = [
    path('admin/', admin.site.urls),
    path('', view.index),
       ........
    # 增加以下一行,以識別靜態資源
    url(r'^static/(?P<path>.*)$', static.serve,
        {'document_root': settings.STATIC_ROOT}, name='static')
]
# 配置異常頁面
handler403 = view.page_permission_denied
handler404 = view.page_not_found
handler500 = view.page_inter_error

3.設定view.py

 from django.shortcuts import render
 
def page_not_found(request):   
    return render(request, '404.html')
def page_permission_denied(request):
    return render(request, '403.html')
def page_inter_error(request):
    return render(request, '500.html')

4.在templates中新增404.html,403.html,500.html