Python-бутылка - куки постоянно меняются

Ниже приведен мой код для установки и чтения файлов cookie в бутылке.

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.

Итак, как мне решить?


person Tampa    schedule 30.07.2012    source источник
comment
Вы пытаетесь реализовать сеансы? Сеансы Beaker, вероятно, будут лучше.   -  person Oleh Prypin    schedule 31.07.2012
comment
постоянные файлы cookie в течение двух лет.   -  person Tampa    schedule 31.07.2012


Ответы (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)
person Lujeni    schedule 09.09.2012