DjangoのHttpRequestオブジェクトと混同しています。 AuthenticationMiddlewareは、user
をrequest
に追加し、これはHttpRequestのインスタンスです。そして、コードはhereですが、私が示したいことは以下の通りである:私はのHttpRequestオブジェクトのコードを読んでいると__setattr__
方法を持っていないuser
属性とそのコードを見つけることができませんHttpRequestインスタンスがDjangoで動的に属性を追加しますか?
request.user = SimpleLazyObject(lambda: get_user(request))
。ですから、既存の属性が存在しない場合にコードがAtrributeErrorを発生させない理由が不思議です。
助けてくれてありがとう。
私はPythonが必要な場所に、プロパティ/フィールドを追加することができます、あなたがについて尋ねているのか理解していない?... – Sayse
のHttpRequestがuser' 'のような属性を持っていない場合、その後、あなたが書きます'request.user'はAttributeErrorを発生させます@ Sayse –
しかし、それを使用する必要があるときはいつでも、それはauthミドルウェアに追加されているので属性を持ちます。このミドルウェアが実行される前に、自分のミドルウェア*で使用しようとしていますか? – Sayse