web-dev-qa-db-ja.com

Laravelのdd()と同等のdjango

私はDjangoが初めてで、オブジェクトの内部にあるものを出力する方法を理解するのに苦労しています。つまり、変数の型と値とそのメンバーが内部にあります。Laravelのdd(object)function。Laravelのdd()は、アプリケーションをデバッグするための便利なツールです。

私はそれを探しました。しかし、何も役に立ちませんでした。 pprint()simplejsonprint(type(object)、_{% debug %}_を試しました。しかし、それらのどれも、オブジェクトに関する必要な情報を提供できませんでした。 Laravelのdd()関数からの出力例を次に示します。 enter image description here

この画像では、Laravelのリクエストオブジェクトを印刷しています。オブジェクトに関する完全な情報が表示されていることがわかります。私はそれが属するクラスの名前、そのメンバー変数を意味します。クラス名と値も含まれます。そしてそれはオブジェクトの奥深くを掘り続け、すべての情報を印刷します。

しかし、Djangoで同様のツールを見つけることができません。 Djangoにはそのような便利なツールがないので、信じがたいです。したがって、このトリックを実行できるサードパーティのパッケージについて知りたいと思います。

Djangoバージョン2.0.5。を使用していて、Django.contrib.messagesを印刷しようとしています

また、出力をコンソールではなくブラウザに表示したい。読みやすい方法で、オブジェクトを取り込んでオブジェクトアーキテクチャの整形式のプレゼンテーションをレンダリングできるDjangoパッケージを求めているのはそのためです。

14
Amarjit Singh

___dict___プロパティまたはdir()を探しています

_print(object.__dict__)
_

美化された出力には pprint を使用します

_from pprint import pprint
pprint(dir(object))
_
5

例外を発生させます。デバッグが行われていると仮定すると、例外メッセージが表示されます。それは粗雑ですが、過去に私を助けてくれました。

ただ:

 raise Exception("I want to know the value of this: " + myvariable_as_a_string)

他の回答とコメント投稿者は、dd()関数の重要な「anddie」部分を無視しました。これにより、後続のリダイレクトなどが防止されます。

3
richplane