ホームページ >バックエンド開発 >Python チュートリアル >Django を使用してカスタマイズされた 404、500 ページを実装する方法

Django を使用してカスタマイズされた 404、500 ページを実装する方法

高洛峰
高洛峰オリジナル
2017-03-28 09:32:292506ブラウズ

この記事では主に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 サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。