Атрибут login_message
Атрибут login_message применяется к объекту
LoginManager и хранит текст сообщения,
которое будет показано пользователю при
перенаправлении на страницу входа. По умолчанию
значение равно None, что соответствует
стандартному сообщению Flask-Login. Если задать
строку, она будет передана в шаблон входа через
переменную message.
Атрибут работает в паре с атрибутом
login_message_category,
который задаёт категорию сообщения для flash.
Синтаксис
login_manager.login_message = 'текст сообщения'
Пример
Давайте создадим приложение с защищённым маршрутом и зададим собственное сообщение для неавторизованного пользователя:
from flask import Flask, render_template
from flask_login import LoginManager, login_required
app = Flask(__name__)
app.secret_key = 'abcde'
login_manager = LoginManager(app)
login_manager.login_view = 'login'
login_manager.login_message = 'Please log in to access this page.'
@app.route('/')
def index():
return 'hello'
@app.route('/protected')
@login_required
def protected():
return 'secret'
@app.route('/login')
def login():
return render_template('login.html')
Теперь создадим шаблон, который выведет
сообщение из переменной message:
{{ message }}
{% endif %} <-jinja+>
При переходе неавторизованного пользователя
на адрес /protected произойдёт
перенаправление на /login,
где отобразится сообщение.
Пример
Давайте отключим сообщение, установив
значение None:
from flask import Flask
from flask_login import LoginManager
app = Flask(__name__)
app.secret_key = 'abcde'
login_manager = LoginManager(app)
login_manager.login_view = 'login'
login_manager.login_message = None
В этом случае при перенаправлении на страницу
входа сообщение не будет добавлено во flash,
и переменная message в шаблоне
останется пустой.
Смотрите также
-
класс
LoginManager,
который управляет аутентификацией в приложении -
атрибут
login_view,
который задаёт имя представления для входа -
атрибут
login_message_category,
который задаёт категорию сообщения для flash -
атрибут
needs_refresh_message,
который задаёт сообщение при необходимости повторного входа