私が次のようなことをした場合:
print request.user.is_authenticated()
次に、True が出力されます。でも
print request.user
「request.user」は単なる文字列ではありませんが、ユーザー名を出力するだけです。すべてのユーザー プロパティをコンソールに出力するにはどうすればよいですか?
私が次のようなことをした場合:
print request.user.is_authenticated()
次に、True が出力されます。でも
print request.user
「request.user」は単なる文字列ではありませんが、ユーザー名を出力するだけです。すべてのユーザー プロパティをコンソールに出力するにはどうすればよいですか?
多くの方法があります。
print dir(request.user)
または(これがおそらく好ましい)
print request.user.__dict__
または(stalkの拡張回答を参照してください。基本的には何をしますか__dict__
)
print ["{0}: {1}".format(field.name, getattr(request.user, field.name)) for field in request.user._meta.fields]
または(メソッドが必要な場合)
print [attr for attr in dir(request.user) if callable(attr)]
これを行う場合:
print request.user
モデルメソッド__unicode__
が呼び出されて出力され、それが返すもの。モデル フィールドを取得するには、明示的にアクセスする必要があります。
print request.user.field_name
すべてのフィールドを反復するには、このフックを使用できます。
for f in request.user._meta.fields:
print f.name, getattr(request.user, f.name)