2011-08-04 35 views
3

django 1.3を実行しています。ビューに未処理の例外がある場合(例:Django未処理の例外応答ステータスコード

def test(request): 
    raise Exception('error') 

(ここではwgetを経由して)ページをGETing:index.htmlをの

HTTP request sent, awaiting response... 200 OK 
Length: unspecified [text/html] 
Saving to: `index.html' 

    [ <=>         ] 218   --.-K/s in 0s  

2011-08-04 17:47:43 (14.9 MB/s) - `index.html' saved [218] 

内容:質問へ

<!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML 2.0//EN"> 
<html><head> 
<title>Unhandled Exception</title> 
</head><body> 
<h1>Unhandled Exception</h1> 
<p>An unhandled exception was thrown by the application.</p> 
</body></html> 

そして今:理由は、応答ステータスコード200?コマンドを使用して、lighttpdの上 実行

manage.py runfcgi --settings=$SETTINGS socket=$SOCKET pidfile=$PIDFILE method=prefork minspare=1 maxspare=1 maxchildren=10 maxrequests=100" 

settings.pyでFALSE DEBUG =:それは500

EDITでなければなりません。 DEBUG = TRUEに変更すると、応答ステータスコードは正しく500になります。

+0

これは 'runserver'から出ていますか? Nginx/Apache?どのような設定ですか? –

+0

私は質問 – toucan

+0

を更新しました。まあ、私はテンプレートフォルダに500.htmlテンプレートファイルを定義していませんでした。これは明らかにdjango標準的な例外ページを使用して私の質問にステータスコード200で投稿します。私は奇妙なこれはデフォルトの動作です。私はdjangoのソースを調べようとしましたが、その理由を見つけることができませんでした。 – toucan

答えて

0

DEBUG = Falseと入力すると、500.htmlテンプレートを実行しようとします。あなたはそのファイルを作成しましたか?

関連する問題