将 Flash 消息类别添加到 @login_required 重定向

Alv*_*rid 2 python flask flask-login

我正在使用 Python / Flask 构建一个 Web 应用程序。我正在使用 @login_required 装饰器保护视图。如果用户未登录,它将重定向到我的“登录”视图 URL,并添加一条 Flash 消息(“您需要登录才能查看此页面。”)。加载重定向视图(“登录”)后,会显示此闪现消息。由于该消息看起来来自@login_required,因此如何向该消息添加类别?

这是我的视图功能:

@app.route('/')
@app.route('/index')
# This is the decorator that redirects my request to the
# 'login' view, and adds a flash message. 
@login_required
#
def index():
    ...
    return render_template(...)
Run Code Online (Sandbox Code Playgroud)

为了将类别传递给即时消息,我可以“手动”添加,我可以执行以下操作。

flash_message = flash("User needs to be logged in to view this page", "category")
Run Code Online (Sandbox Code Playgroud)

小智 7

我刚刚遇到这个问题,因为我也遇到了同样的问题。您可能已经明白了,但是您需要添加来自定义 @login_required 是

login_manager.login_view = "users.login"

login_manager.login_message = "User needs to be logged in to view this page"

login_manager.login_message_category = "warning"
Run Code Online (Sandbox Code Playgroud)