2009-05-26 1 views
2

ビューのインポートをどうにかしてトレースする方法はありますか?私は、壊れていて、いくつかの状況でインポートされない(これは、ジャンゴのスキーマを解決するすべてのURLが機能しなくなるという事実につながります)を見つけたいと思います。Djangoでビューのインポートをトレースする方法

+0

スタックトレースにエラーメッセージを含めてください。 –

+0

Djangoに到達する前にクラッシュします。これは純粋なPythonのコンパイルエラーです。デバッグは非常に難しいです。 – julkiewicz

+0

あなたはmanage.py runserverを実行するとどうなるでしょうか? –

答えて

0

スタックトレースを取得していませんか? はTrueに設定されていますか?

0

[OK]を、よくそれはちょうど

python -v manage.py <whatevercommand>

を書いて、生産ログでエラーを検索することが可能です。

0

これは、501サーバーエラーが発生していると想定していますか?

Apache Webサーバを使用している場合は、ErrorLog directiveを使用してサイトの設定でPythonのエラーをログに記録するように設定することができます

ErrorLog /tmp/django_errors.log 

次に、端末(またはssh経由)で:

tail -f /tmp/djanogo_errors.log 

問題のWebページを読み込みます。エラーが何であるかを確認して修正する必要があります。

3

誰もがpdbを提案していないことはかなり驚くべきことです。あなたのコード内の戦略的なポイントで次のように配置します。など、実行がそのポイントに到達すると、DEVサーバが実行をトレース、あなたは変数の値をチェックすることができ、シェルの中にドロップします

import pdb;pdb.set_trace() 

これは標準シェル(あなたが好きなPythonコマンドを使用する)のように動作しますが、実行を制御する特別なコマンドもあります。たとえば、nextは次の行に移動します(前の行を処理しています)。 continueは、次のブレークポイントまで実行を続けます。full list of pdb commands

+0

まあまあ、問題は実際には少し異なっていました。多分私はこれについて別の質問を投稿していたはずです。しかし、私はあなたの答えが最も有用であると感じます。問題は、同じ方法でプロジェクトツリーの別の場所に多くのモジュールがあることでした。サーバーを起動しようとしたところ、「fooをインポート中にエラーが発生しました」というメッセージが表示されました。今質問は - それはfooです。しかし、私は自分の答えで記述した方法で問題を解決しました。 – julkiewicz

関連する問題