0

デフォルトのピラミッドを使用すると仮定しましょう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 フラグの意味は何ですか?

4

1 に答える 1