3

以下は、ボトルにクッキーを設定して読み取るための私のコードです。

if request.get_cookie('mycookiename'):
        cookie_id = request.get_cookie('mycookiename')
    else:
        cookie_id=str(uuid4())
        response.set_cookie('mycookiename', cookie_id , max_age=31556952*2, domain='%s' % (cookie_domain))

firefox と firebug にアクセスすると、Cookie が設定されていることがわかります。しかし、ページを更新すると、新しい Cookie が取得されます。すべてのリクエストは新しい Cookie ID です。

では、どうすれば解決できますか?

4

1 に答える 1

1

このコードは機能します。Cookie がまだ定義されていない場合は、uuid4 で新しい値の Cookie を設定します。

あなたのコードでは、「else」条件が悪いと思います。

# -*- coding: utf-8 -*-
#!/usr/bin/env python
from uuid import uuid4
import bottle

@bottle.route('/cookie')
    def cookie():
        cookie_id = bottle.request.get_cookie('mycookiename', str(uuid4()))
        bottle.response.set_cookie('mycookiename', cookie_id)
        return 'hello cookie'

if __name__ == '__main__':
    bottle.run(host='localhost', port=8080)
于 2012-09-09T15:14:17.013 に答える