私はrequest.user
という変数にprior_user
という変数を割り当て、次に本質的にユーザーを認証し、request.user != prior_user
かどうかをチェックしました。私はそれらが同じでないことを期待し、prior_user
には `AnonymousUser 'が含まれているはずです。驚いたことに、彼らは同じだった。django:django.utils.functional.SimpleLazyObjectの目的は?
サンプルコード:私はその後、prior_userが実際にdjango.utils.functional.SimpleLazyObjectのインスタンスが含まれて発見さ
prior_user = request.user # request object, obtained froma view
authenticate_user(request) # some function that authenticates
print prior_user.username != request.user.username # returns False i.e.they are the same!
はので、私はそれがすなわちprior_userの値が見上げていない怠惰な選択肢タイプのもののいくつかの並べ替えであると仮定します実際に使用されるまで。ソースコードを見ると、私はこれを確認できません。
djangoの経験をお持ちの方は、何が起こっているのか、なぜ必要なのか教えていただけますか?
通常の代入文は期待通りに機能しないため、Django内の他に何がこのように機能するので、少し動揺してしまいます。また、docsに記載されていることもありませんでした。
だから、djangoの超人間の知識を持つ人は、いくらか明確にすることができますか?
ありがとう、それは私のようなジャンゴ初心者のために非常に役立った! – donogood
+1すばらしい説明! – Anoyz