この記事では主にDjangoでカスタマイズされた404、500ページを実装する詳細な方法を紹介します。非常にシンプルで実用的です。必要に応じて、友達は
1. プロジェクトを作成します
django-admin.py startproject HelloWorld
2. HelloWorld プロジェクトに入り、manage.py と同じレベルのディレクトリに templates ディレクトリを作成し、そこに新しい 404.html、500.html を作成します。 2 つのファイル。
3. settings.py
を変更します。(1.) DEBUG を False に変更します。(2.) 指定したドメイン名または IP を ALLOWED_HOSTS に追加します。(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. 新しい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')
コードは次のようになります
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 中国語 Web サイトの他の関連記事を参照してください。