6

Windows 7
Python 2.7.3
Django 1.5
python manage.py runserver

' https://docs.djangoproject.com/en/1.5/intro/tutorial03/ 'で入手可能なチュートリアルに従っています。

物事がおかしくなる前に、「404(ページが見つかりません)ビューを書き込む」まで到達しました。

カスタム404ビューを作成する方法を見つけようとしました。ただし、よくわかりません。

A.カスタム404.htmlファイルが正確に存在する場所。プロジェクトディレクトリツリーまたはDjangoディレクトリツリーにある必要があります。私のプロジェクトディレクトリツリーは次のようになります。

1> mysite  
2>     - mysite  
3>     - polls  
4>         - templates  
5>             - polls  
6>     - templates  
7>         - admin  

現在、404.htmlは@6>です。

B.どこでどのような変更を加える必要がありますか?私は、handler404とhandler500を'root'urlconfに設定する必要があることを理解しています。@ 2>と3>にあるurl.pyがあります(上のツリーを参照)。2>が正しい場所であると仮定すると、構文は次のようになります。

handler404 = 'templates.404'
handler500 = 'templates.500'

他に何を設定する必要がありますか?

4

1 に答える 1

7

ご覧のとおり、少し間違いがありますが、心配しないでください。

見て、これを試してください:

handler404 = 'mysite.views.error404'

次に、mysite (2 番目の mysite) で、views.py を作成します (持っていない場合)。そのviews.pyに次を入れます:

from django.shortcuts import render

def error404(request):
    return render(request,'404.html')

それだけです!テンプレートで、そのファイルを作成し、何かいいことをしてください!

本番環境でのみ機能することに注意してください(DEBUG=False)。そうでない場合、django はトレースバックを使用します。505 も同じですhandler404 = 'polls.views.see404'。views.py を試してみることもできますが、好みは異なります。

ここで、別の方法を試してください。たとえば、urls.py にコメントを追加します。

#handler404 = 'mysite.views.error404'

そして、views.py の定義も削除します。

テンプレート ファイルのインデックスに、単純な 404.html が作成されます。本番環境でサーバーを実行すると、その 404 エラーが発生します。何が起こったのでしょうか?

于 2013-04-10T17:15:11.187 に答える