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

时间:2016-01-23 07:46:05

标签: python flask wsgi

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

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

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

2 个答案:

答案 0 :(得分:5)

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

#login
session['user'] = user_id


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

您可以使用this guide获取一个好的登录应用。

答案 1 :(得分:3)

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