Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/google-apps-script/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Flask 如何在启动时设置烧瓶外壳中的当前用户_Flask_Flask Login - Fatal编程技术网

Flask 如何在启动时设置烧瓶外壳中的当前用户

Flask 如何在启动时设置烧瓶外壳中的当前用户,flask,flask-login,Flask,Flask Login,我的代码取决于是否有一个活动用户,我从current\u userthread local获取该用户 运行烧瓶外壳时显然未设置用户。那么,如何在每次启动flask shell时自动设置当前用户?您需要在请求上下文中工作才能登录用户 工作示例: In [1]: from app.users.models import User In [2]: user = User.query.first() In [3]: request_ctx = app.test_request_context()

我的代码取决于是否有一个活动用户,我从
current\u user
thread local获取该用户


运行
烧瓶外壳时
显然未设置用户。那么,如何在每次启动flask shell时自动设置当前用户?

您需要在请求上下文中工作才能登录用户

工作示例:

In [1]: from app.users.models import User

In [2]: user = User.query.first()

In [3]: request_ctx = app.test_request_context()  # you need to work inside request context to login user

In [4]: request_ctx.push()

In [5]: from flask_login import login_user

In [6]: login_user(user)

Out[6]: True

In [7]: from flask_security import current_user

In [8]: current_user.id == user.id

Out[8]: True

有一个flask shell钩子可以在我启动它时执行这个代码吗?看看
shell\u context\u processor
你可以实现一个函数记录你的用户并返回shell中可用的上下文。