我正在建立一个Flask网站,这是一项研究实验的一部分。 我需要能够记住匿名用户,以便我网站的每个访问者都是匿名且唯一的,但也要记住他们,以便他们无法再次进入该网站(他们将重定向到“谢谢您的参与”页面)
我该怎么办?我研究了flask.session(如何生成唯一的匿名ID并将其保存到用户cookie?)和Flask登录(必须通过用户登录才能获得ID),但没有找到解决此问题的具体方法。 / p>
请帮助。
答案 0 :(得分:3)
对于您的问题,没有完美的解决方案,因为如果您是匿名用户,您将无法识别该用户。
最实用的方法可能是使用会话,并将它们完成调查后保存在会话变量中。但是,如果他们清除了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