Python Flask - 如何通过cookie/session记住匿名用户?
Python Flask - how to remember anonymous users via cookie/session?
我正在构建一个作为研究实验一部分的 Flask 网站。
我需要能够记住匿名用户,这样我网站的每个访问者都将是匿名和唯一的,但也会被记住,这样他们就不能再次进入该网站(他们将被重定向到 "thank you for your participation" 页面)。
我该怎么做?我查看了 flask.session(如何生成唯一的匿名 ID 并将其保存到用户 cookie?)和 Flask-login(必须与用户登录一起获取 id)但没有找到针对此问题的具体解决方案.
请帮忙。
您的问题没有完美的解决方案,因为如果用户是匿名的,您将无法识别他们。
最实用的方法可能是使用会话并将他们完成的调查保存在会话变量中。但是,如果他们清除了 cookie,他们将能够再次进入该站点。
示例实现:
from flask import session, app
@app.before_request
def make_session_permanent():
session.permanent = True
在您的调查表单视图中:
if not "already_participated" in session:
... Display form
然后在您的提交视图中:
session["already_participated"] = True
我正在构建一个作为研究实验一部分的 Flask 网站。 我需要能够记住匿名用户,这样我网站的每个访问者都将是匿名和唯一的,但也会被记住,这样他们就不能再次进入该网站(他们将被重定向到 "thank you for your participation" 页面)。
我该怎么做?我查看了 flask.session(如何生成唯一的匿名 ID 并将其保存到用户 cookie?)和 Flask-login(必须与用户登录一起获取 id)但没有找到针对此问题的具体解决方案.
请帮忙。
您的问题没有完美的解决方案,因为如果用户是匿名的,您将无法识别他们。
最实用的方法可能是使用会话并将他们完成的调查保存在会话变量中。但是,如果他们清除了 cookie,他们将能够再次进入该站点。
示例实现:
from flask import session, app
@app.before_request
def make_session_permanent():
session.permanent = True
在您的调查表单视图中:
if not "already_participated" in session:
... Display form
然后在您的提交视图中:
session["already_participated"] = True