Maison  >  Article  >  développement back-end  >  Comment utiliser Django pour implémenter des pages 404, 500 personnalisées

Comment utiliser Django pour implémenter des pages 404, 500 personnalisées

高洛峰
高洛峰original
2017-03-28 09:32:292408parcourir

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!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn