【问题标题】:How to set current_user in flask shell on start如何在启动时在烧瓶外壳中设置 current_user
【发布时间】:2019-09-23 11:08:26
【问题描述】:

我的代码取决于我从current_user 本地线程获得的活跃用户。

当运行flask shell 时用户显然没有设置。那么如何在每次启动flask shell时自动设置current_user呢?

【问题讨论】:

    标签: flask flask-login


    【解决方案1】:

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

    工作示例:

    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_context_processor flask.palletsprojects.com/en/1.1.x/api/… 你可以实现一个函数来记录你的用户并返回它在shell中可用的上下文。
    猜你喜欢
    • 2019-09-21
    • 2018-04-27
    • 2023-04-04
    • 1970-01-01
    • 2012-07-31
    • 2015-02-24
    • 2021-12-30
    相关资源
    最近更新 更多