【问题标题】:Global variables in python flask web applicationpython flask web应用程序中的全局变量
【发布时间】:2023-12-23 23:38:01
【问题描述】:

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

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

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

【问题讨论】:

    标签: python flask wsgi


    【解决方案1】:

    您可以编写代码来创建登录独奏,但这并不安全。需要在会话中设置登录凭据并在每个请求中加载用户并在每个请求中加载它并设置 g 对象。

    #login
    session['user'] = user_id
    
    
    @app.before_request
    def before_request():
        current_user = user_obj
        g.user = current_user
    

    您可以使用this guide 来打造一款出色的登录应用。

    【讨论】:

      【解决方案2】:

      您可以使用Flask-Login 扩展名。 它可以开箱即用地处理大多数典型的用户管理活动。

      【讨论】:

        最近更新 更多