Python Flask - 如何通过cookie/session记住匿名用户?

5
我正在构建一个Flask网站,它是一项研究实验的一部分。我需要能够记住匿名用户,以便每个访问者都是匿名且唯一的,但也要被记住,因此他们不能再次进入网站(他们将被重定向到“感谢您的参与”页面)。
我该怎么做?我查看了flask.session(如何生成唯一的匿名id并将其保存到用户cookie中?)和Flask-login(必须与用户登录才能获得id),但没有找到这个问题的具体解决方案。
请帮忙。
1个回答

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

你好,能否请您写一个小例子来展示如何在 Flask 中使用 session 来解决这个问题? - user2552806
1
这里有一些代码。不要忘记将会话设置为永久,以便在用户关闭浏览器时不被删除。永久会话的默认寿命为31天。但是如果需要,您可以更改它(参见https://dev59.com/Wmgt5IYBdhLWcg3w2A36)。 - DaLynX

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接