Heim  >  Artikel  >  Backend-Entwicklung  >  So verwenden Sie Django, um benutzerdefinierte 404.500 Seiten zu implementieren

So verwenden Sie Django, um benutzerdefinierte 404.500 Seiten zu implementieren

高洛峰
高洛峰Original
2017-03-28 09:32:292449Durchsuche

In diesem Artikel werden hauptsächlich die Details von Django zur Implementierung von benutzerdefinierten 404, 500 Seiten vorgestellt Methode ist sehr einfach und praktisch. Freunde in Not können darauf verweisen

1 Erstellen Sie ein Projekt

django-admin.py startproject HelloWorld

2. Geben Sie das HelloWorld-Projekt ein. py Erstellen Sie auf derselben Ebene des Verzeichnisses ein Vorlagenverzeichnis und erstellen Sie zwei Dateien, 404.html und 500.html, im Vorlagenverzeichnis

3. Ändern Sie „settings.py“

( 1.) DEBUG-Änderung. (2.) ALLOWED_HOSTS den angegebenen Domänennamen oder die angegebene IP hinzufügen, (3.) den Vorlagenpfad „DIRS“ angeben: [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 .Erstellen Sie eine neue 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. Ändern Sie urls.py, der Code lautet wie folgt

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

Neu kompilieren, uwsgi neu starten Geben Sie localhost/HelloWorld/test ein und zeigen Sie „Hello World!“ an. Wenn Sie andere Adressen eingeben, wird der Inhalt von 404.html angezeigt. Wenn ein Fehler auftritt, wird der Inhalt von 500.html angezeigt.

Das obige ist der detaillierte Inhalt vonSo verwenden Sie Django, um benutzerdefinierte 404.500 Seiten zu implementieren. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn