Djangoデバッグはページのすべての変数を表示します


83

ページで使用可能なすべての変数を表示するために使用できるテンプレートタグ(またはその他のトリック)はありますか?

回答:



85

いくつかのオプションがあります(それらのいくつかはすでに前にリストされています):

  1. django組み込みのデバッグタグ-このボイラープレートを使用して正しく表示します:

    <pre> {%filter force_escape%} {%debug%} {%endfilter%} </ pre>

  2. 属性、変数、詳細などのdjangoテンプレートデバッグアプリケーションのタグを使用するか、テンプレート内にブレークポイント設定して、pdbデバッガー(またはipdb)ですべてを検査することもできます。

  3. Djangoデバッグツールバー-この目的のためのテンプレートパネルがあります

通常、すべてのデバッグ機能は、アプリがデバッグモードの場合にのみ機能します。


16

プロのヒント。コピー&ペーストを簡単にtextareaするonclickために使用して自動選択します。

<textarea onclick="this.focus();this.select()" style="width: 100%;"> {% filter force_escape %} {% debug %} {% endfilter %}</textarea>

10

デバッグツールバーは、すべてこれを行いとは、はるかに。詳細については、スクリーンキャストを参照してください。文字通り変数が必要な場合は、試してみてください

assert False, locals()

あなたの見解では


Thnaks。私は一般的なビューを使用しているので、「assert False、locals()」を呼び出す方法はありますか
eaman 2010

みんな、私はツールバーをインストールして動作させましたが、テンプレートで利用可能なすべての変数が表示されません...何かが足りないのですか..これはfalseをアサートしますか、locals()はどこに行き、正確には何をしますか?
デレクオルガン

カスタムビューを作成した場合は、ビューの終わり近くに配置してください。汎用ビューを使用している場合は、それを独自のビューでラップする必要があります。とにかく、それはうまくいくと思います。
トム

8

より良い報酬を伴うもう少し複雑な解決策は、django-debug-toolbarをロードすることです(ここにドキュメントがあります

「コンテキストの切り替え」への別のオプションを備えた「テンプレート」と呼ばれるオプションがあり、テンプレートに渡されたすべての変数と、テンプレートの背後にあるコードを表示する機能を確認できます。

django-debug-toolbarテンプレートのデバッグの例


私は'<<triggers database query>>'価値として得ています
スティーブン2017年

ドキュメントを読み、それが失敗した場合は、django-debug-toolbarプロジェクトにアクセスして、ヘルプをリクエストします。github.com
Aaron C. de Bruyn

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.