Heroku Python:设置和获取cookie的正确方法是什么?



我见过很多这样的设置方式:

# store in a cookie
cookie = Cookie.SimpleCookie()
cookie['lat'] = lat
cookie['lon'] = lon
# expires in one hour
cookie['lat']['expires'] = time.time() + 1 * 24 * 3600 
cookie['lon']['expires'] = time.time() + 1 * 24 * 3600 
print cookie

和像

这样检查
cookie = Cookie.SimpleCookie()
cookie.load(os.environ.get('HTTP_COOKIE'))
lat = float(cookie['lat'].value)
lon = float(cookie['lon'].value)

,但似乎没有一个在我的本地主机上工作。这是我的代码的一个功能,或者它是在本地主机。我以前没有做过太多的dev/cookies,不知道如何正确地存储用户登录数据和应用数据。

你把操作系统搞混了。使用当前请求的环境。它们是完全不同的东西。操作系统环境是本地的,与web服务器无关。

对于你正在寻找的环境,当它处理请求时,你需要在web服务器内部。

可能会有帮助:http://en.wikipedia.org/wiki/Http_request#Technical_overview

用url重定向找到了:

from flask import make_response, redirect, url_for
response = make_response(redirect('/'))
lat = request.form['lat']
lon = request.form['lon']
response.set_cookie('lat', lat)
response.set_cookie('lon', lon)
return response

获取cookie的方法:

lat = float(request.cookies['lat'])
lon = float(request.cookies['lon'])

相关内容

最新更新