web-dev-qa-db-ja.com

Django debugは、ページのすべての変数を表示します

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

70
eaman

[〜#〜] debug [〜#〜] が有効になっている場合、 {%debug%} と呼ばれる template tag があります。

105
Keryn Knight

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

  1. Django builtin debug tag -このボイラープレートを使用して適切に表示します:

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

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

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

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

76
Robert Lujo

プロのヒント。 textareaと自動選択onclickを使用して、コピーと貼り付けを簡単にします。

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

デバッグツールバー は、これらすべてを実行します。詳細については、 screencast を参照してください。文字通り変数だけが必要な場合は、試すことができます

assert False, locals()

あなたの見解では

10
Tom

より良い見返りがあるもう少し複雑なソリューションは、 Django-debug-toolbar (ドキュメント here )をロードすることです

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

Example of Django-debug-toolbar template debugging

6

プロフェッショナルバージョンのpycharmを使用する場合、テンプレートファイルのいくつかの行にブレークポイントを設定し、変数値を表示できます。

詳細については、このリンクを参照してください。 https://www.jetbrains.com/help/pycharm/debugging-Django-templates.html

0
W.Perrin