django_사용자 정의 오류 페이지

1433 단어 초유운궁

Django에서 요청과 일치하는 URL을 찾을 수 없거나 예외가 발생하면 오류 처리 보기가 호출됩니다.Django의 기본 자체 오류 보기는 400, 403, 404와 500으로 각각 요청 오류, 서비스 거부, 페이지에 존재하지 않는 오류와 서버 오류를 나타낸다.위치:
  • handler400 —— django.conf.urls.handler400.
  • handler403 —— django.conf.urls.handler403.
  • handler404 —— django.conf.urls.handler404.
  • handler500 —— django.conf.urls.handler500.

  • 이러한 값은 루트 URLconf에서 설정할 수 있습니다.이 변수는 다른 app의 2단계 URLconf에서 설정되지 않았습니다.
    Django에는 오류 페이지를 사용자에게 되돌려 주는 데 사용되는 HTML 템플릿이 내장되어 있지만, 403404페이지는 정말 추합니다. 일반적으로 우리는 오류 페이지를 사용자 정의합니다.
    먼저 루트 URLconf에 다음 항목을 추가하고views 모듈을 가져옵니다.
    from django.contrib import admin
    from django.urls import path
    from app import views
    
    urlpatterns = [
        path('admin/', admin.site.urls),
    ]
    
    #      
    handler400 = views.bad_request
    handler403 = views.permission_denied
    handler404 = views.page_not_found
    handler500 = views.error
    

    그리고 app/views.py 파일에 네 개의 처리 뷰가 추가됩니다.
    def bad_request(request):
        return render(request, '400.html')
    
    
    def permission_denied(request):
        return render(request, '403.html')
    
    
    def page_not_found(request):
        return render(request, '404.html')
    
    
    def error(request):
        return render(request, '500.html')
    

    그리고 자신의 수요에 따라 대응하는 400, 403, 404, 500을 만듭니다.html 네 개의 페이지 파일을 사용하면 됩니다(템플릿 파일의 인용 방식, 보기의 배치 위치 등),termplate 디렉터리에 주의하십시오.
     
     

    좋은 웹페이지 즐겨찾기