Python Flask - 不在多个用户之间共享变量的 Web 应用程序

问题描述 投票:0回答:2

我有一个用 Python3 编写的 Flask Web 应用程序。但我遇到的问题是,所有变量始终在访问我网站的所有用户之间共享。 例如,如果 user1 在访问我的网站期间单击了一个按钮(在 Python3 中执行的是

var1 = "aaa"
),然后将此变量填充到 HTML 输入字段中,则访问该网站的所有其他用户都将看到值为
aaa 的输入字段

我使用gunicorn3 作为我的WSGI。我也尝试过

gunicorn3 python-docx:app -k gevent --worker-connections 1000
,但这根本没有帮助。 (python-docx是我的Python3文件的名称)

如何确保 Python 代码中的变量不会在不同用户的每个会话之间共享?我想确保只有变量及其值对每个用户可见,而不是像现在一样共享它们。

可以吗?

非常感谢。

编辑:我不使用数据库,也不使用我的网络应用程序的登录系统。我的网络应用程序是公开的,没有任何用户管理,因此任何人都可以免费使用该网络应用程序的功能。

html python-3.x web flask gunicorn
2个回答
0
投票

如果您可以识别用户(区分请求),问题就部分解决了

我知道您没有使用任何身份验证,因此您可以在用户请求页面时使用时间戳来捕获字典中该用户的时间戳

而不是使用

var1="aaa"
使用:
dict['fixed_request_time_stamp']={var1:"aaa"}

因此,当用户请求页面时,将创建一个唯一的时间戳并将其与页面一起发送给用户,当用户提交表单和数据(“aaa”)(“时间戳”)时,该时间戳将提交回服务器


0
投票

您是否在任何 Flask-app 函数之外定义了“var1”变量?也许这个变量变成了全局变量。

© www.soinside.com 2019 - 2024. All rights reserved.