エラー用のカスタム 404.html ページを作成しようとしていHTTP 404
ます。
この URL127.0.0.1:8000/polls/Books/dsfdsf/
では、Page not found (404)
デフォルトのデバッグ ページが表示されますが、DEBUG=True
. 同じ URL に対して、カスタム 404 ページを作成したいと考えています。
私はこれについてDjango Docsを調べました。
私が取った次の手順:
1)。settings.pyDEBUG=False
で
2)。urls.pyhandler404 = 'pollsite.views.custom_404'
で
3)。ビュー.py
def custom_404(request):
return render('404.html', context_instance=RequestContext(request))
4)。私は404.html
テンプレートディレクトリにファイルを置きました、TEMPLATE_DIRS
404.html
127.0.0.1:8000/polls/Books/dsfdsf にアクセスしようとすると、カスタム エラー ページが表示されるはずですよね? 代わりに私はTemplateDoesNotExist: 500.html
を示す有効な URL でさえ、 TemplateDoesNotExist: 500.html
HTTP 404 エラーが生成されず、カスタム404.html
ファイルが呼び出されないのはなぜですか?
question1とquestion2に記載されている解決策を試しまし
たが、それでも迷惑なエラーが発生しますTemplateDoesNotExist: 500.html
何が問題なのか指摘してください。
EDIT:エラーのstacktarce
Traceback (most recent call last):
File "/usr/lib/python2.7/wsgiref/handlers.py", line 85, in run
self.result = application(self.environ, self.start_response)
File "/usr/local/lib/python2.7/dist-packages/django/core/handlers/wsgi.py", line 241, in __call__
response = self.get_response(request)
File "/usr/local/lib/python2.7/dist-packages/django/core/handlers/base.py", line 153, in get_response
response = self.handle_uncaught_exception(request, resolver, sys.exc_info())
File "/usr/local/lib/python2.7/dist-packages/django/core/handlers/base.py", line 228, in handle_uncaught_exception
return callback(request, **param_dict)
File "/usr/local/lib/python2.7/dist-packages/django/utils/decorators.py", line 91, in _wrapped_view
response = view_func(request, *args, **kwargs)
File "/usr/local/lib/python2.7/dist-packages/django/views/defaults.py", line 32, in server_error
t = loader.get_template(template_name) # You need to create a 500.html template.
File "/usr/local/lib/python2.7/dist-packages/django/template/loader.py", line 145, in get_template
template, origin = find_template(template_name)
File "/usr/local/lib/python2.7/dist-packages/django/template/loader.py", line 138, in find_template
raise TemplateDoesNotExist(name)
TemplateDoesNotExist: 500.html
.........................解決策:
1) settings.pyセットでALLOWED_HOSTS = ['127.0.0.1']
2)views.pyで return render_to_response('404.html')