Flask入门教程(九)闪现消息

2023-10-10 07:40

本文主要是介绍Flask入门教程(九)闪现消息,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

软硬件环境

  • Windows 10 64bit

  • Anaconda3 with python 3.7

  • PyCharm 2019.3

  • Flask 1.1.1

简介

web应用中,经常需要对用户的操作实施反馈,好让用户知道到底发生了什么事。最常见的方式自然是在网页上显示一些字符,可以是确认消息、警告或者错误提醒。

Flask实现

Flask中,使用flash message(闪现消息),具体使用的方法是flash()

flash(message, category)

其中

  • message: 具体的消息内容

  • category: 可选参数,表示消息类型,比如错误、警告等

在视图函数中发送了消息,自然的,就需要在模板文件中取出消息,我们使用方法get_flashed_message

get_flashed_messages(with_categories, category_filter)

其中2个参数都是可选参数

  • with_categories: 消息类型,与上面的flash匹配

  • category_filter: 过滤条件

下面看个完整的实例

run.py文件内容

from flask import Flask, render_template, request, redirect, url_for, flashapp = Flask(__name__)
app.secret_key = "xxx"@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['email'] != 'test@gmail.com' or request.form['password'] != 'test':error = "Invalid account."else:flash("Login successfully")return redirect(url_for('index'))return render_template('login.html', error=error)if __name__ == '__main__':app.run(debug=True)

当邮箱和密码输入正确的时候,调用flash方法

模板文件index.html

<!DOCTYPE html>
<html lang="en">
<head><meta charset="UTF-8"><title>Index</title>
</head>
<body>{% with messages = get_flashed_messages() %}{% if messages %}{% for message in messages %}<p>{{ message }}</p>{% endfor %}{% endif %}{% endwith %}<h3>Welcome!</h3>
<a href = "{{ url_for('login') }}">login</a>
</body>
</html>

通过调用get_flashed_messages方法获取到所有的消息,然后使用for-in的循环显示出每一条消息。页面的底部,我们放置一个超链接,用于跳转到login页面

login.html文件内容

<!DOCTYPE html>
<html lang="en">
<head><meta charset="UTF-8"><title>Login</title>
</head>
<body><form method = "post" action = "http://localhost:5000/login"><table><tr><td>Email</td><td><input type = 'email' name = 'email'></td></tr><tr><td>Password</td><td><input type = 'password' name = 'password'></td></tr><tr><td><input type = "submit" value = "Submit"></td></tr></table></form>{% if error %}<p><strong>Error</strong>: {{ error }}</p>{% endif %}
</body>
</html>

这是前面我们介绍过的简单登录界面,最下面用于显示出错信息

最后启动下Flask服务,访问http://127.0.0.1:5000

flask

输入emailpassword

flask

出错,显示无效账户信息

flask

成功,显示欢迎信息

flask

源码下载

https://github.com/xugaoxiang/FlaskTutorial

这篇关于Flask入门教程(九)闪现消息的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/179008

相关文章

聊聊springboot中如何自定义消息转换器

《聊聊springboot中如何自定义消息转换器》SpringBoot通过HttpMessageConverter处理HTTP数据转换,支持多种媒体类型,接下来通过本文给大家介绍springboot中... 目录核心接口springboot默认提供的转换器如何自定义消息转换器Spring Boot 中的消息

Python Flask实现定时任务的不同方法详解

《PythonFlask实现定时任务的不同方法详解》在Flask中实现定时任务,最常用的方法是使用APScheduler库,本文将提供一个完整的解决方案,有需要的小伙伴可以跟随小编一起学习一下... 目录完js整实现方案代码解释1. 依赖安装2. 核心组件3. 任务类型4. 任务管理5. 持久化存储生产环境

Python库 Django 的简介、安装、用法入门教程

《Python库Django的简介、安装、用法入门教程》Django是Python最流行的Web框架之一,它帮助开发者快速、高效地构建功能强大的Web应用程序,接下来我们将从简介、安装到用法详解,... 目录一、Django 简介 二、Django 的安装教程 1. 创建虚拟环境2. 安装Django三、创

Python用Flask封装API及调用详解

《Python用Flask封装API及调用详解》本文介绍Flask的优势(轻量、灵活、易扩展),对比GET/POST表单/JSON请求方式,涵盖错误处理、开发建议及生产环境部署注意事项... 目录一、Flask的优势一、基础设置二、GET请求方式服务端代码客户端调用三、POST表单方式服务端代码客户端调用四

flask库中sessions.py的使用小结

《flask库中sessions.py的使用小结》在Flask中Session是一种用于在不同请求之间存储用户数据的机制,Session默认是基于客户端Cookie的,但数据会经过加密签名,防止篡改,... 目录1. Flask Session 的基本使用(1) 启用 Session(2) 存储和读取 Se

Python Web框架Flask、Streamlit、FastAPI示例详解

《PythonWeb框架Flask、Streamlit、FastAPI示例详解》本文对比分析了Flask、Streamlit和FastAPI三大PythonWeb框架:Flask轻量灵活适合传统应用... 目录概述Flask详解Flask简介安装和基础配置核心概念路由和视图模板系统数据库集成实际示例Stre

RabbitMQ消息总线方式刷新配置服务全过程

《RabbitMQ消息总线方式刷新配置服务全过程》SpringCloudBus通过消息总线与MQ实现微服务配置统一刷新,结合GitWebhooks自动触发更新,避免手动重启,提升效率与可靠性,适用于配... 目录前言介绍环境准备代码示例测试验证总结前言介绍在微服务架构中,为了更方便的向微服务实例广播消息,

使用Docker构建Python Flask程序的详细教程

《使用Docker构建PythonFlask程序的详细教程》在当今的软件开发领域,容器化技术正变得越来越流行,而Docker无疑是其中的佼佼者,本文我们就来聊聊如何使用Docker构建一个简单的Py... 目录引言一、准备工作二、创建 Flask 应用程序三、创建 dockerfile四、构建 Docker

java向微信服务号发送消息的完整步骤实例

《java向微信服务号发送消息的完整步骤实例》:本文主要介绍java向微信服务号发送消息的相关资料,包括申请测试号获取appID/appsecret、关注公众号获取openID、配置消息模板及代码... 目录步骤1. 申请测试系统2. 公众号账号信息3. 关注测试号二维码4. 消息模板接口5. Java测试

C++ RabbitMq消息队列组件详解

《C++RabbitMq消息队列组件详解》:本文主要介绍C++RabbitMq消息队列组件的相关知识,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友参考下吧... 目录1. RabbitMq介绍2. 安装RabbitMQ3. 安装 RabbitMQ 的 C++客户端库4. A