[Django 입문] - Django가 기본적으로 제공하는 오류 페이지 수정

문서 목록
  • 1. 프레젠테이션 환경 만들기
  • 2. 표준 오류 페이지
  • 3. 사용자 정의 오류 페이지
  • Django 프레임워크를 사용하여 프로젝트 개발을 진행할 때 프로그램이 오류를 작성하거나 브라우저가 Django에게 보낸 요청에 오류가 있으면 프레임워크는 브라우저에 상세한 오류 정보를 표시합니다. 다음과 같습니다. 만약에 브라우저가 Django 프레임워크에 존재하지 않는 자원 bindex 을 요청하면 Django는 브라우저에 이러한 오류를 되돌려줍니다.
    Page not found (404) Request Method: GET Request URL: http://127.0.0.1:8000/bindex Using the URLconf defined in test4.urls, Django tried these URL patterns, in this order:
  • admin/
  • ^ ^index$

  • The current path, bindex , didn’t match any of these. You’re seeing this error because you have DEBUG = True in your Django settings file. Change that to False , and Django will display a standard 404 page.
    이 같은 정보는 개발자에게는 포지셔닝과 문제 해결에 편리하지만, 전방 사용자에게는 영문을 알 수 없다.
    1. 프레젠테이션 환경 만들기
    Django에서 제공하는 기본 오류 페이지를 어떻게 수정하는지 보여주고 새로운 지식을 후속으로 보여주기 위해 다음 절차에 따라 프로젝트를 다시 만듭니다.
  • [Django 입문] - 0부터 Django 프로젝트를 만들고 시작합니다. 테스트 4라는 프로젝트를 만들고 booktest라는 응용 프로그램을 새로 만들고 등록합니다.
  • [Django 입문] - Django에서 보기 함수와 템플릿 파일의 사용, 템플릿 디렉터리 생성, 템플릿 디렉터리 설정, URL 설정 완성, 테스트 작성index 보기 함수 작성;
  • [Django 입문] - Django를 설정하면 MySQL 데이터베이스를 사용하고 Django 프로젝트를 설정하면 MySQL 데이터베이스db4_test4를 사용한다.

  • 2. 표준 오류 페이지
    실제로 Django에서 제공하는 기본 오류 페이지를 수정하는 방법은 위의 Django에서 제공하는 기본 오류 정보에 나와 있습니다.
  • You’re seeing this error because you have DEBUG = True in your Django settings file. 이 오류는 Django 프로젝트 설정 파일의 DEBUG 필드를 True 로 설정했기 때문입니다.
  • Change that to False , and Django will display a standard 404 page. DEBUGFalse로 변경하면 Django는 표준 404페이지를 보여 줍니다.

  • 따라서 먼저 프로젝트settings.py 파일의 필드DEBUGFalse로 변경합니다.
    # settings.py
    ......
    # SECURITY WARNING: don't run with debug turned on in production!
    # DEBUG = True
    DEBUG = False
    
    ALLOWED_HOSTS = ['*']
    ......
    

    실제로 상기 코드는 ALLOWED_HOSTS 필드를 ['*']로 설정했는데 이것도 직관적이다. 이 추가 설정을 하지 않았을 때 Django 프레임워크는 다음과 같은 알림을 주기 때문이다.
    CommandError: You must set settings.ALLOWED_HOSTS if DEBUG is False.
    

    그런 다음 브라우저에서 이와 같은 요청을 다시 시작하면 표준 오류 페이지가 나타납니다.
    Not Found
    The requested resource was not found on this server.
    3. 오류 페이지 사용자 정의
    실제로 사용자 정의 페이지를 표시하려면 templates 디렉토리에서 파일을 사용자 정의해야 합니다.
    
    <html lang="en">
    <head>
        <meta charset="UTF-8">
        <title>404    title>
    head>
    <body>
    <h1>          :{{request_path}}h1>
    body>
    html>
    

    브라우저에서 위와 같은 오류 요청을 다시 시작하면 다음과 같은 사용자 정의 오류 정보가 표시됩니다.
    요청한 페이지를 찾을 수 없음:/bindex
    상기 디자인의 오류 페이지는 404가지 유형에 불과하지만 실제로는 다른 유형의 오류도 유형의 방식으로 실현할 수 있다.

    좋은 웹페이지 즐겨찾기