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

时间:2013-03-03 12:13:57

标签: python cookies heroku localhost

我已经看到很多方法可以设置:

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

但它们似乎都不适用于我的localhost。这是我的代码的功能还是在localhost上。我以前没有做过很多dev / cookies,也不知道为我的应用程序存储用户登录数据和数据之类的正确方法。

2 个答案:

答案 0 :(得分:0)

您将os.environ与当前请求的环境混淆。它们是完全不同的东西。 os environ是您机器的本地,它与网络服务器无关。

对于您正在寻找的环境,您需要在处理请求时进入Web服务器。

也许这会有所帮助:http://en.wikipedia.org/wiki/Http_request#Technical_overview

答案 1 :(得分:0)

使用网址重定向计算出来:

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'])