Cet article présente principalement les détails de Django pour implémenter des pages 404 500 personnalisées. La méthode est très simple et pratique. Les amis dans le besoin peuvent s'y référer
1 Créer un projet
django-admin.py startproject HelloWorld
2. Entrez le projet HelloWorld, dans gérer. py Au même niveau du répertoire, créez un répertoire de modèles, et créez deux fichiers, 404.html et 500.html, dans le répertoire des modèles
3. Modifier settings.py
( 1.) Modification DEBUG. Pour False, (2.) ALLOWED_HOSTS ajoute le nom de domaine ou l'adresse IP spécifié, (3.) spécifiez le chemin du modèle '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 .Créez un nouveau view.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. Modifiez urls.py, le code est le suivant
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
Recompilez, redémarrez uwsgi. , saisissez localhost/HelloWorld/test, affichez 'Hello World !', la saisie d'autres adresses affichera le contenu 404.html, et si une erreur se produit, le contenu 500.html sera affiché.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!