python flask 网络应用程序中的全局变量

Global variables in python flask web application

我已经使用 python flask 实现了一个网络服务器并托管在 pythonanywhere.com ... 我在我的实现中使用了全局变量来处理登录会话。 例如-

TOKENS = {"OAUTH_TOKEN": ""}
if(TOKENS['OAUTH_TOKEN']) == "":
   authorized = Flase
else:
   authorized = True

但问题是当一个用户登录并授权第二个用户作为授权用户时。 pythonanywhere 使用 WSGI 作为 运行 python flask web 应用程序的服务器。如何将每个用户作为单独的线程处理?

您可以使用 Flask-Login 扩展名。 它可以处理大多数典型的 user-management 活动 out-of-the-box。

您可以编写代码来创建登录解决方案,但在会话中设置登录凭据并使用每个请求加载用户并在每个请求中加载它并设置 g 对象并不是真正的 safe.need。

#login
session['user'] = user_id


@app.before_request
def before_request():
    current_user = user_obj
    g.user = current_user

您可以使用 this guide 作为一个好的登录应用程序。