デフォルトのピラミッドを使用すると仮定しましょうUnencryptedCookieSessionFactory
...
my_session_factory = UnencryptedCookieSessionFactoryConfig('itsaseekreet')
config = Configurator(settings=settings)
config.set_session_factory(my_session_factory)
...
互いにリンクする 2 つのビューを定義します。
@view_config(route_name='t1')
def t1(request):
session = request.session
session['fred'] = '***'
session['abc'] = '&&&'
return Response(str(session.__dict__) + '<a href="t2">t2</a>')
@view_config(route_name='t2')
def t2(request):
session = request.session
return Response(str(session.__dict__) + '<a href="t1">t1</a>')
ブラウザで t1 にアクセスすると、次の出力が得られます。
{'accessed': 1377760577, '_dirty': True, 'request': , 'new': False, 'created': 1377760540.30155}t2
t2へのリンクをたどると:
{'accessed': 1377760577, 'request': , 'new': False, 'created': 1377760540.30155}t1
しかし、私は t1 と t2 には何か違うものを期待します:
{ ..., 'fred': '***', 'abc': '&&&', ...}
値がセッションに保存されないのはなぜですか? _dirty フラグの意味は何ですか?