2012-07-30 60 views
2

以下是我设置和读取瓶中饼干的代码。蟒蛇 - 瓶 - 饼干不断变化

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。

那么,我该如何解决?

+0

您是否尝试实施会话? [烧杯](http://stackoverflow.com/q/9248245/241039)会话可能会更好。 – 2012-07-31 07:10:30

+0

持续两年的Cookie。 – Tampa 2012-07-31 14:02:58

回答

1

此代码有效。如果您尚未定义cookie,则可以使用uuid4设置一个新值cookie。

在你的代码中,我猜你的“其他”条件不好。

# -*- 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)