最新の Flask/Werkzeug (Flask 0.9) クライアント側セッションを使用して、リクエスト間で情報を保持しています。セッションは永続的に設定されていません (ブラウザを閉じたときに Cookie が削除されても問題ないため)。
私の問題は次のとおりです。
サーバー側コードを使用して、Flask セッション変数にエントリを入力します。この後、Session 変数は次のようになります。
<SecureCookieSession {u'items': SOMENOTVERYIMPORTANTDICTIONARY}, '_fresh': True, 'user_id': u'1', 'csrf': '0aef1995cdf2cxx0233fdf3321d17fc7267f3b32', '_id': 'someUNIQUEcode'}*>
この情報を使用して、同じ Flask アプリケーションに対して (JQuery を介して) GET 要求を実行するページをレンダリングしますが、突然、セッションの「項目」エントリを含む辞書がなくなりました。
<SecureCookieSession {'_fresh': True, 'user_id': u'1', 'csrf': '0aef1995cdf2cxx0233fdf3321d17fc7267f3b32', '_id': 'someUNIQUEcode'}>
私はいくつかの検索を行い、ローカルホストでテストしているという事実に関連している可能性があると考えました (127.0.0.1 はローカルホストと同じではありません)。ホスト ファイルを修正し、「dev.localhost」エントリを追加して、すべてのリクエストが同じホストからのものであることを確認しました。
また、ブラウザ (Chrome) の開発者ペインには、サーバーに送信されるセッション Cookie の識別子がまったく同じように表示されます。
また、設定session.modified = True
は役に立ちません。
リクエスト間で変更される唯一のことは、
__utmb=122666782.18.10.1363877633
最初のリクエスト (items
エントリを入力するリクエスト) と 2 番目のリクエストの比較
__utmb=122666782.19.10.1363877633
それはまだAjax関連のものかもしれないと考えています。簡単なページのリロード後にセッション変数の内容をテストしましたitems
。エントリはまだセッションから削除されています。
どんな助けでも大歓迎です。