读取 Flask 会话 Cookie
Read Flask Session Cookie
我目前有:
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(...)
当我查看 Chrome
中的 response
时,我可以看到 Set-Cookie:session=...
已被设置。
我有两个问题:
1) 我如何在 `server 上读取这个 cookie
?
我试过:
venue_id = request.cookies.get('venue_id')
但这似乎并没有把它捡起来。
2) 使用我上面的代码,我所有的 cookies
都将设置为相同的名称。读取cookie
值后,我想delete
session
中的相应条目。我应该怎么做呢?另外,如果两个 requests
一个接一个地进来,行:
session['venue_id'] = token
用第二个条目覆盖第一个条目?还是每个 request
开始一个新的 session
?
我对这一切应该如何运作感到困惑。任何帮助将不胜感激。
嗯。 Cookie 和会话有点不同。
如果您想使用 cookie 并使 venue_id = request.cookies.get('venue_id')
正常工作 - 您需要使用 set_cookie
:
set_cookie('venue_id', token)
在 cookie 的情况下 - 你可以解决 cookie 可以解决的一般问题(例如有一个持久的 cookie)
如果您想使用会话(用于会话唯一性和身份验证),您只需使用会话并在您的案例中输入 "username" 或场所的唯一 ID。
使用哪个 - 这实际上取决于您要实现的目标
看看:
http://flask.pocoo.org/docs/0.10/quickstart/#cookies
http://flask.pocoo.org/docs/0.10/quickstart/#sessions
我目前有:
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(...)
当我查看 Chrome
中的 response
时,我可以看到 Set-Cookie:session=...
已被设置。
我有两个问题:
1) 我如何在 `server 上读取这个 cookie
?
我试过:
venue_id = request.cookies.get('venue_id')
但这似乎并没有把它捡起来。
2) 使用我上面的代码,我所有的 cookies
都将设置为相同的名称。读取cookie
值后,我想delete
session
中的相应条目。我应该怎么做呢?另外,如果两个 requests
一个接一个地进来,行:
session['venue_id'] = token
用第二个条目覆盖第一个条目?还是每个 request
开始一个新的 session
?
我对这一切应该如何运作感到困惑。任何帮助将不胜感激。
嗯。 Cookie 和会话有点不同。
如果您想使用 cookie 并使 venue_id = request.cookies.get('venue_id')
正常工作 - 您需要使用 set_cookie
:
set_cookie('venue_id', token)
在 cookie 的情况下 - 你可以解决 cookie 可以解决的一般问题(例如有一个持久的 cookie)
如果您想使用会话(用于会话唯一性和身份验证),您只需使用会话并在您的案例中输入 "username" 或场所的唯一 ID。
使用哪个 - 这实际上取决于您要实现的目标
看看:
http://flask.pocoo.org/docs/0.10/quickstart/#cookies
http://flask.pocoo.org/docs/0.10/quickstart/#sessions