我目前有以下内容:
from flask import Flask, session,request
@app.route('/venue/login', methods=['GET', 'POST'])
def venue_login():
token = generate_token()
session['venue_id'] = token
return json.dumps(...)
当我查看response
中的Chrome
时,我可以看到Set-Cookie:session=...
已设置。
我有两个问题:
1)如何在服务器上阅读此cookie
?
我试过了:
venue_id = request.cookies.get('venue_id')
但这似乎没有把它拿起来。
2)使用上面的代码,我的所有cookies
都将使用相同的名称进行设置。在阅读cookie
值后,我想delete
session
中的相应条目。我该怎么做呢?如果两个requests
一个接一个地进来,那么行:
session['venue_id'] = token
用第二个覆盖第一个条目?或者每个request
开始一个新的session
?
我对这一切应该如何运作感到困惑。任何帮助将不胜感激。
答案 0 :(得分:1)
好。 Cookie和会话有点不同。
如果您想使用Cookie并让venue_id = request.cookies.get('venue_id')
工作 - 您需要使用set_cookie
:
set_cookie('venue_id', token)
在cookies案例中 - 您可以解决cookie可以解决的一般问题(例如,持有cookie)
如果您想使用会话(用于会话唯一性和身份验证),您只需使用会话并在您的情况下输入“用户名”或场地的唯一ID。
使用哪种 - 这取决于你想要实现的目标
看看:
http://flask.pocoo.org/docs/0.10/quickstart/#cookies
http://flask.pocoo.org/docs/0.10/quickstart/#sessions