1

私の Django アプリで、カスタム テンプレート タグの 1 つのロジックが原因のように見える 404 Page Not Found 応答を受け取りましたが、どのタグかわかりません。

Django Debug Toolbar の Request Vars パネルを使用すると、404 の原因となっているビューを確認できます。これは、テンプレート タグgo_back.utils._register_wrapped_viewの 1 つから来ていることを知る方法です。go_back.utils

残念ながら、テンプレート タグは装飾する必要があり、したがって として表示されるため_registered_wrapped_view、それがどのタグであるかはわかりません。ましてや、タグ コードのどこで問題が発生するかはわかりません。(タグ コードは、いくつかの場所で URL と呼び出しを処理する特別なユーティリティであるresolveため、明らかではありません。)

import pdb; pdb.set_trace()したがって、トレースを設定する場所がわからないため、通常のアプローチを使用できません。

では、どうすれば 404 が発生したときに pdb を壊して、その時点までのスタック トレースを確認できるでしょうか?

4

3 に答える 3

0

古い質問ですが、runserver の事後分析フラグを持つdjango-pdbがあります。メンテナンスが行き届いていないように見えますが (2 年前が最後のコミットです)、シンプルなミドルウェアであり、更新はそれほど難しくありません。

于 2014-04-29T14:36:16.587 に答える
0

Django Debug Toolbarを使用してみてください。リダイレクトをインターセプトできるため、ブレークポイントを追加する場所が見つからない場合に適しています。

設定で、あなたが持っていることを確認してください

DEBUG_TOOLBAR_CONFIG = {'INTERCEPT_REDIRECTS': True}
于 2012-08-28T07:51:41.560 に答える
-1

あなたがこれを知っているかどうかはわかりません:

import pdb; pdb.set_trace()デバッグしたい機能や開発サーバーを入れてみることができます。その関数がトリガーされると、シェルに侵入しpdb、コードをデバッグできます。

于 2012-08-28T04:06:28.223 に答える