flask web 框架——消息闪现
文章目录
- 一、消息闪现
- 二、闪现消息的类别
- 三、过滤闪现消息
一、消息闪现
Flask 通过闪现系统来提供了一个简单易用的反馈方式。闪现系统的基本工作原理是:在请求结束时记录一个消息,提供且只提供给下一个请求使用。
比如有这么个需求:A页面出了错后跳转到B页面,并在B页面展示A页面的错误信息。这个时候,就可以通过消息闪现将错误信息传递给B页面。
注意!!!浏览器会限制 cookie 的大小,有时候网络服务器也会。这样如果消息比会话 cookie 大的话,那么会导致消息闪现静默失败。
flash()
用于闪现(可以理解为发送)一个消息。在模板中,使用 get_flashed_messages()
来获取消息。
举例说明:
先看后端:
from flask import Flask, flash, redirect, render_template, \request, url_forapp = Flask(__name__) app.secret_key = b'_5#y2L"F4Q8z\n\xec]/'@app.route('/') def index():return render_template('index.html')@app.route('/login', methods=['GET', 'POST']) def login():error = Noneif request.method == 'POST':if request.form['username'] != 'admin' or \request.form['password'] != 'secret':error = '无效凭证'else:flash('您已成功登录') # 闪现了一个消息return redirect(url_for('index'))return render_template('login.html', error=error)
下面是实现闪现的
layout.html
模板:<!doctype html> <title>My Application</title> {# 获取消息 #} {% with messages = get_flashed_messages() %}{% if messages %}<ul class=flashes>{% for message in messages %}<li>{{ message }}</li>{% endfor %}</ul>{% endif %} {% endwith %} {% block body %}{% endblock %}
二、闪现消息的类别
闪现消息还可以指定类别,如果没有指定,那么缺省的类别为 'message'
。不同的类别可以给用户提供更好的反馈。例如错误消息可以使用红色背景。
使用 flash()
函数可以指定消息的类别:
flash('消息内容', 'error')
get_flashed_messages()
函数也应当返回类别,显示消息的循环也要略作改变:
{# 注意 get_flashed_messages() 的参数 #}
{% with messages = get_flashed_messages(with_categories=true) %}{% if messages %}<ul class=flashes>{% for category, message in messages %}{# 消息类别被用作了 class 属性的值 #}<li class="{{ category }}">{{ message }}</li>{% endfor %}</ul>{% endif %}
{% endwith %}
消息类别可以是任何字符,但是推荐使用以下的值:'message’表示任何类型的消息,'error’表示错误,'info’表示信息消息,'warning’表示警告。
三、过滤闪现消息
你可以视情况通过传递一个类别列表来过滤 get_flashed_messages()
的结果。这个功能有助于在不同位置显示不同类别的消息。
{# 只获取 error 类型的消息,其他忽略 #}
{% with errors = get_flashed_messages(category_filter=["error"]) %}
{% if errors %}
<div class="alert-message block-message error"><a class="close" href="#">×</a><ul>{%- for msg in errors %}<li>{{ msg }}</li>{% endfor -%}</ul>
</div>
{% endif %}
{% endwith %}
flask web 框架——消息闪现相关推荐
- Flask框架——消息闪现
目录 使用消息闪现 消息闪现分类 过滤闪现消息 上篇文章我们学习了Flask框架--flask-caching缓存,这篇文章我们来学习Flask框架--flash消息闪现. 良好的web应用程序中需要 ...
- API接口开发其实特简单,Python Flask Web 框架教程来了
大家好,日常工作中,无论你是数据工程师.数据挖掘工程师,甚至数据分析人员,都不可避免的与他人进行数据交互,API接口提供数据是最常见的形式. 今天我给大家分享 Python Flask Web 框架教 ...
- Flask(十二)——消息闪现
一个基于GUI好的应用程序需要向用户提供交互的反馈信息. 例如,桌面应用程序使用对话框或消息框,JavaScript使用 alert() 函数用于类似的目的. 在Flask Web应用程序中生成这样的 ...
- python Flask web 框架 (十七)
Flask 0.Flask简介 Flask是一个基于Python开发并且依赖jinja2模板和Werkzeug WSGI服务的一个微型框架,对于Werkzeug本质是Socket服务端,其用于接收ht ...
- 比我的脸还干的gan货——Python Flask Web 框架入门
Flask是一个轻量级的基于Python的web框架. 本文适合有一定HTML.Python.网络基础的同学阅读. 1. 简介 这份文档中的代码使用 Python 3 运行. 是的,所以读者需要自己在 ...
- flask模板应用-消息闪现(flash()) --
消息闪现 flask提供了一个非常有用的flash()函数,它可以用来"闪现"需要提示给用户的消息,比如当用户登录成功后显示"欢迎回来!".在视图函数调用fla ...
- Python Flask Web框架教程 1 Hellow, World!
原文 Installing Python 如果你的计算机上没有安装Python,请立即安装.如果你的操作系统没有为你提供Python包,你可以从Python官方网站下载安装程序.如果你将Microso ...
- Python Flask Web 框架入门
人生苦短 我用python 这期非常非常干货!!!
- 比入赘还简单的——Python Flask Web 框架入门
嗨害大家好鸭!我是小熊猫
最新文章
- Flink 1.3.2 Standalone模式安装
- re_path 的 ?P
- python自动化任务_用Python实现真实世界任务的自动化
- elastic search java_elasticsearch学习四、JAVA调用
- from 下拉框多个值提交_Git提交规范
- 一款世界上最快的固态硬盘
- QT5新建工程错误-无法打开源文件QtWidgets/QApplication
- IDE警告信息不应该被忽略
- MS SQL入门基础:数据库 统计函数
- 拓端tecdat|Python支持向量回归SVR拟合、预测回归数据和可视化准确性检查实例
- python 之selectors 实现文件上传下载
- 语音库构建_推动数据采用,以通过语音接口构建更好的产品
- heidisql与 MySQL区别,heidisql怎么使用 MySQL可视化工具heidisql安装使用教程
- 计算机单位mb和m大小一样吗,MB和M哪个容量大?
- python读文件的方法open,file,with open
- 吉林大学考研计算机系分数线,吉林大学考研计算机分数线相关交流问答贴 小木虫论坛-学术科研互动平台...
- MALTAB中 imshow函数出错
- Html5 生成个玫瑰线图案
- 兰州大学信息与计算机科学硕,兰州大学信息科学与工程学院
- Jsp中有哪些内置对象?作用分别是什么?