私が理解する限り、flask.g
は、現在の要求コンテキスト(たとえ技術的にはhereと記載されているアプリケーションのコンテキストでも)に一時的な記憶域を提供します。リクエストハンドラ中にg.my_data
にアクセスすると、my_data
が現在のリクエスト用であることが保証されます。 Djangoにはこれに相当するものがありますか?DjangoはFlask gに相当しますか? flask.gとflask.requestの間にデータを保存していますか?
私の実験では、Djangoのrequest
オブジェクトは、ビュー関数に渡され、flask.g
と同じように使用できます。私は単にrequest.my_data
を使用して、my_data
が現在の要求であることを保証することができます。
これは私がflask.g
と同じようにflask.request
を使用して試したものですが、同等の結果が得られました。これはflask.g
がflask.request
以上のものを提供しているのですが、flask.request
の属性は上書きされないという心配がありますか?
実際のリクエストハンドラ(フラスコ)またはビュー関数(django)とミドルウェア(django)または@before_request(フラスコ)ハンドラとの間でデータを共有しています。
This sourceリクエストにデータを入れることをおすすめしているようです。
同様にthis sourceです。
これは私に、以下の番号1についてはイエスと答えますが、数字2についてはさらに疑問に思っていますか?
TLDR:
- Djangoは
flask.g
と同等に使用することrequest
できますか? flask.request
はflask.g
と等価に使用できますか、またはのメリットはflask.request
以上ですか?
私はあなたの使用例を理解していないと思います。ミドルウェアハンドラでデータを設定したい場合は、ビューハンドラでアクセス可能にします。私はrequestオブジェクトにdjangoがrequest.userで何を行うのかということだけを追加することを計画していました。 – Panda