이 글에서는 Custom 404, 500 페이지를 구현하기 위한 Django의 세부 사항을 주로 소개합니다. 방법은 매우 간단하고 실용적입니다. 필요한 친구들이 참고할 수 있습니다
1. 프로젝트 만들기
django-admin.py startproject HelloWorld
2. 관리에 HelloWorld 프로젝트를 입력합니다. py 동일한 수준의 디렉터리에 템플릿 디렉터리를 만들고, 템플릿 디렉터리에 404.html과 500.html이라는 두 개의 파일을 만듭니다.
3. settings.py 수정
( 1.) 디버그 수정이 False인 경우, (2.) ALLOWED_HOSTS는 지정된 도메인 이름 또는 IP를 추가하고, (3.) 템플릿 경로 'DIRS'를 지정합니다: [os.path.join(BASE_DIR,'templates')],
# SECURITY WARNING: don't run with debug turned on in production! DEBUG = False ALLOWED_HOSTS = ['localhost','www.example.com', '127.0.0.1'] TEMPLATES = [ { 'BACKEND': 'django.template.backends.django.DjangoTemplates', 'DIRS': [os.path.join(BASE_DIR, 'templates')], 'APP_DIRS': True, 'OPTIONS': { 'context_processors': [ 'django.template.context_processors.debug', 'django.template.context_processors.request', 'django.contrib.auth.context_processors.auth', 'django.contrib.messages.context_processors.messages', ], }, }, ]
4. 새로운 A views.py
from django.http import HttpResponse from django.shortcuts import render_to_response from django.views.decorators.csrf import csrf_exempt @csrf_exempt def hello(request): return HttpResponse('Hello World!') @csrf_exempt def page_not_found(request): return render_to_response('404.html') @csrf_exempt def page_error(request): return render_to_response('500.html')
5. urls.py를 수정합니다. 코드는 다음과 같습니다
from django.conf.urls import url from django.contrib import admin import HelloWorld.views as view urlpatterns = [ url(r'^admin/', admin.site.urls), url(r'^test$', view.hello), ] handler404 = view.page_not_found handler500 = view.page_error
다시 컴파일하고 uwsgi를 다시 시작하고 localhost/HelloWorld/test를 입력합니다. , 'Hello World!' 표시, 다른 주소 입력 404.html 내용이 표시되며, 오류가 발생하면 500.html 내용이 표시됩니다.
위 내용은 Django를 사용하여 맞춤형 404, 500페이지 구현 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!