Автор оригинала: Pankaj Kumar.
В этом уроке мы узнаем, как прошивать сообщения с помощью метода Flask flash ().
Что значит мигать сообщением?
Для приложений с графическим интерфейсом всегда полезно давать обратную связь пользователю за его действия.
То есть, например, в форме колбы , если пользователь оставляет поле пустым, можно выдать ему сообщение об ошибке/информации, сообщающее, что поле требуется.
Графический интерфейс Python Tkinter framework использует сообщение или диалоговое окно для отображения сообщения , и на клиентском языке сценариев JavaScript это делается с помощью функции alert .
И в колбе у нас есть этот метод вспышки, чтобы сделать именно это.
Как работает вспышка вспышки?
Метод Flash flash показывает сообщения пользователям.
С помощью Flash мы можем создать флэш-сообщение в одном представлении колбы, а затем показать его в другом представлении, называемом “далее”, которое обычно является шаблонным представлением.
Типичным примером представления шаблона является:
@app.route('/template') def blog(): #codes... #codes... return render_template('template.html')
Следовательно, представление Flask создает флэш-сообщение в одном представлении, а затем передает его в представление next (вместе с запросом), которое отображает сообщение пользователю.
Синтаксис для Flash:
flash(message,category)
Здесь,
- сообщение: Сообщение для отображения
- категория: Необязательный параметр, который может быть установлен в “ошибка”, “информация” или “предупреждение”.”
Чтобы извлечь флэш-сообщение из сеанса, в котором оно хранится, и отобразить его в шаблоне, мы используем функцию get_flashed_messages () .
get_flashed_messages(with_categories, category_filter)
Здесь,
- with_categories: Необязательный кортеж параметров для упоминания категории(ошибка/информация/предупреждение)
- category_filter: Необязательный параметр для фильтрации и отображения только определенных сообщений
Простой пример, показывающий get_flashed_message() в файле шаблона:
{% with messages = get_flashed_messages() %} {% if messages %} {% for message in messages %} {{ message }} {% endfor %} {% endif %} {% endwith %}
Практическое применение с помощью метода Flash flash()
Здесь мы создадим простое приложение Flask, которое мигает – вход успешен , если пользователь вводит правильный пароль.
1) Кодирование файла приложения колбы
Здесь мы покажем простую форму ввода пароля. Если пароль правильный, то мигните сообщением.
from flask import Flask,render_template,request,redirect,flash app = Flask(__name__) @app.route('/form') def form(): return render_template('form.html') @app.route('/login', methods = ['POST', 'GET']) def login(): if request.method == 'GET': return "Login via the login Form" if request.method == 'POST': password = request.form['password'] if password == '123': #The following flash message will be displayed on successful login flash('Login successful') return render_template('success.html') else: return redirect('/form') app.run(host='localhost', port=5000)
Здесь success.html – это шаблон “следующий”, так как там появится сообщение.
Вот и все !! давайте теперь закодируем шаблоны
2) Кодирование шаблонов
В form.html будет:
И Success.html файл шаблона:
{% with messages = get_flashed_messages() %} {% if messages %} {% for message in messages %} {{ message }} {% endfor %} {% endif %} {% endwith %}User Authenticated
Обратите внимание, как мы использовали get_flashed_messages() здесь.
3) Реализация
Вот и все !! Давайте теперь запустим сервер и проверим веб-страницу
Хит “/форма” :
Введите 1234 и нажмите кнопку отправить
И вот оно, наше флэш-сообщение прямо на экране.
Вывод
Вот и все для этого урока, ребята!! Я надеюсь, что вы получили достаточно знаний, чтобы использовать метод Flash в своих веб-приложениях. Ознакомьтесь с нашей статьей о формах колб, чтобы узнать больше о формах
Увидимся в следующей статье !! Счастливого кодирования !!