29
私はg
とsession
間での機能と目的の違いを理解しようとしています。どちらもセッションデータを 'ハングする'オブジェクトですが、そうですか?そうであれば、どのような違いがあり、どんなケースでどちらを使うべきですか?フラスコ: 'G' 対 'セッション'?
私はg
とsession
間での機能と目的の違いを理解しようとしています。どちらもセッションデータを 'ハングする'オブジェクトですが、そうですか?そうであれば、どのような違いがあり、どんなケースでどちらを使うべきですか?フラスコ: 'G' 対 'セッション'?
いいえ、g
はではありません。セッションデータをハングするオブジェクトです。 g
要求間でデータが保持されません。
session
はあなたの特定のブラウザあたりのデータを格納する場所を提供します。特定のブラウザを使用しているFlaskアプリのユーザーが、より多くのリクエストを返すと、セッションデータはそれらのリクエストにまたがって持ち越されます。一方
g
は要求サイクル内のコードベースの異なる部分の間で共有されるデータです。 g
がbefore_request
フックの間に設定することができ、teardown_request
期にまだ利用可能であり、要求が行われ、クライアントに送信されると、g
はクリアされます。
だから、 'session'は(?クッキーに基づいて)データのクライアントごとに 'で、' G'は、要求ごとのデータのですか? –
@AvivCohn:正確に。 (あなたは1を別の、これが重要になり呼び出す*巣*フラスコのアプリにした場合)G' 'の利点は、スレッドセーフで、そしてあなたの現在のアプリケーションに固有のもので、それはあなたの要求のすべてにわたって存在していることです。つまり、あなたのテンプレートで同じユーザーや接続にアクセスし、まだ各呼び出しに沿って、それを渡すことなく、ティアダウンフックで利用できる持って、その後、ユーザーオブジェクトまたは 'before_request'フックを使用して、データベース接続を設定することができます。 –