Постоянный файл cookie для бутылки Python не работает

У меня есть сайт, над которым я работаю, я хочу сохранить значение в файле cookie

это число, когда пользователь заходит на веб-сайт, я хочу знать, какое число было при его последнем посещении, поэтому я думаю о постоянном файле cookie, в котором сохраняется текущее значение, когда пользователь заходит на сайт, если файл cookie сеанса отсутствует, то файл cookie сеанса захватывает копию постоянного файла cookie. Таким образом, файл cookie сеанса всегда имеет значение последнего посещения.

как бы то ни было, кажется, что мой постоянный файл cookie не сохраняется, хотя я установил дату истечения срока действия через 1 год

вот мой код на питоне:

persistentCookieKey = category + '_highest_id'
sessionCookieKey = 'session_' + persistentCookieKey + '_highest_id'

persistentCookieValue = request.get_cookie(persistentCookieKey)
if persistentCookieValue == None:
    persistentCookieValue = 0      # each time i restart my browser it comes through here!

sessionCookieValue = request.get_cookie(sessionCookieKey)
print 'persistentCookieValue:', persistentCookieValue
print 'sessionCookieValue:', sessionCookieValue

if sessionCookieValue == None:
    print 'session cookie not set, setting to:', persistentCookieValue
    sessionCookieValue = persistentCookieValue
    response.set_cookie(sessionCookieKey, str(persistentCookieValue))

print 'setting persistent cookie to value:', highestId
expireDate = date.today() + timedelta(days=365)
response.set_cookie(persistentCookieKey, str(highestId), expires=expireDate)

highestIdLastVisit = int(sessionCookieValue) 

person SupaGu    schedule 27.10.2011    source источник


Ответы (1)


Бутылка использует http://docs.python.org/library/cookie.html для реализации поддержка файлов cookie. Эта реализация требует, чтобы параметр expires был строкой в ​​формате Wdy, DD-Mon-YY HH:MM:SS GMT. Передача объектов даты и времени или даты завершается неудачно.

Я исправлю это в будущих версиях Bottle (привет, я автор), но сейчас я предлагаю вместо этого использовать max_age.

Редактировать: О, и я только что заметил, что это также неправильно задокументировано. Простите за это. Edit2: исправлено (в мастере)

person defnull    schedule 27.10.2011
comment
Файлы cookie не работают. Как мне решить. Я формант питона. Не работало. Вот мой пост. stackoverflow.com/questions/11730580/ - person Tampa; 31.07.2012