6

Windows 7
Python 2.7.3
Django 1.5
python manage.py runserver

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

settings.pyでDEBUG=Trueを使用すると、Webページが正しく生成されます。住所・アドレス

http://127.0.0.1:8000/admin/  

管理者ログインページを表示します。

http://127.0.0.1:8000/polls/  

「What'sup?」を表示します 箇条書きのリンク。

http://127.0.0.1:8000/polls/1/  

数字「1」を表示します

http://127.0.0.1:8000/polls/2/  

標準の404メッセージを表示します。ただし、DEBUG = Falseを設定した場合(そして他に何もしなかった場合)、すべてのアドレスで500エラーが発生します。開発用の内部runserverを使用しています。トレースバックエラーはありません。サーバーログは次のようになります。

DEBUG=Trueの場合

0 errors found  
March 19, 2013 - 12:01:12  
Django version 1.5, using settings 'mysite.settings'  
Development server is running at http://127.0.0.1:8000/  
Quit the server with CTRL-BREAK.  
[19/Mar/2013 12:06:41] "GET /admin/ HTTP/1.1" 200 1893  
[19/Mar/2013 12:54:55] "GET /polls/ HTTP/1.1" 200 74  
[19/Mar/2013 12:55:02] "GET /polls/2/ HTTP/1.1" 404 1577  
[19/Mar/2013 12:55:09] "GET /polls/1/ HTTP/1.1" 200 1  
Validating models...  

DEBUG=Falseを使用

0 errors found  
March 19, 2013 - 12:55:21  
Django version 1.5, using settings 'mysite.settings'  
Development server is running at http://127.0.0.1:8000/  
Quit the server with CTRL-BREAK. 
[19/Mar/2013 12:59:22] "GET /admin/ HTTP/1.1" 500 27  
[19/Mar/2013 12:59:25] "GET /polls/ HTTP/1.1" 500 27  
[19/Mar/2013 12:59:28] "GET /polls/1/ HTTP/1.1" 500 27  
[19/Mar/2013 12:59:34] "GET /polls/2/ HTTP/1.1" 500 27  

私のディレクトリ構造は次のとおりです。

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

私の「manage.py」は@1>なので、次のファイルと場所で編集を行う必要があることを理解しています。

@ 2> settings.py
@ 2> urls.py

ただし、
A。現在「view.py」ファイル@ 2>はありませんが、これは新しいファイルですか?チュートリアルに従った後、私は現在'view.py'@3>を持っています。
B.「404.html」は@2>の下の新しいテンプレートディレクトリまたは2つの既存のテンプレートディレクトリ(@4>または@6>)のいずれかに配置する必要がありますか?カスタムの「500.html」は同じディレクトリに入ると思います。

私はあなたが見たい私のコードをこれ以上投稿したいと思います。

4

5 に答える 5

10

ALLOWED_HOSTSほとんどの場合、設定ファイルで設定するのを忘れています。

于 2013-03-19T12:09:52.460 に答える
5

以前も同じ問題がありました。テンプレート ディレクトリに 404.html を作成し、有効な ALLOWED_HOSTS を指定して Web サーバーを再起動することで、これを修正できました。

于 2013-03-20T20:34:30.807 に答える
4

同様の問題があり、django プロジェクトの名前が mysite であると仮定すると、この最小限のコードで修正できました。

# mysite/mysite/settings.py
DEBUG = False
ALLOWED_HOSTS = ['localhost']
# Tells your project to find your custom 404.html at mysite/mysite/templates/404.html
INSTALLED_APPS = (..., 'tutorial', ...)

# mysite/mysite/urls.py
handler404 = 'tutorial.views.custom_404'

# mysite/mysite/views.py
from django.shortcuts import render

def custom_404(request):
    return render(request, '404.html', {}, status=404)

# mysite/mysite/templates/404.html
<h1>CUSTOM 404 PAGE</h1>

サーバーを再起動することを忘れないでください。=P


ディレクトリ構造は次のようになります。

mysite  
    - mysite
        - settings.py
        - urls.py
        - views.py
        - templates
            - 404.html  
    - polls  
        - templates  
            - polls
于 2013-03-20T20:58:47.790 に答える
0

このようにサーバーを実行してみてください

python manage.py runserver localhost:8000

すべてのアドレスから動作させたい場合

python manage.py runserver 0.0.0.0:8000

于 2014-07-04T05:20:37.777 に答える