一,消息提示基本语法。

  1,先新建一个Flask工作空间。

  2,新建后自动得到一个app.py文件,直接运行可以看到基本效果。然后引入

from flask import flash。使用这个flash时候需要配置秘钥secret_key,flask会通过它对消息进行加密。并引入模板库
render_template。
 3,在“templates”文件夹下新建“index.html”文件,代码如下:
 <!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Title</title>
</head>
<body>
<h1>Hello,Login</h1> <h2>{{ get_flashed_messages()[0] }}</h2>
</body>
</html>

注:第10行是获取flash的函数,返回的是list,所以在后面加上序号。

app.py代码:
 from flask import Flask,flash,render_template

 app = Flask(__name__)
app.secret_key = '' @app.route('/')
def hello_world():
flash("Hello JiKeXueYuan!")
return render_template("index.html") if __name__ == '__main__':
app.run()

结果:

可以看到,接受的"Hello JiKeXueYuan!"已经显示到网页上了。这句话就是提示语句,比如你填写表单时你忘记填一个东西他会提示你就用这个方法做。

二,表单提示实例
app.py
 from flask import Flask,flash,render_template,request

 app = Flask(__name__)
app.secret_key = '' @app.route('/')
def hello_world():
flash("Hello JiKeXueYuan!")
return render_template("index.html") @app.route("/login",methods=['POST'])
def login():
form = request.form
username = form.get('username')
password = form.get('password') if not username:
flash("Please input username!")
return render_template("index.html")
if not password:
flash("Please input password!")
if username == "jkxy" and password=="":
flash("Login success!")
return render_template("index.html")
else:
flash("Username or Password is wrong!")
return render_template("index.html")
if __name__ == '__main__':
app.run()

注意:这里要用一个request用于13行的表单数据的请求。

注意:index和app里的传递方法都是POST,要一致才行。而且注意app里的写法是“methods=['POST']”

index.html

 <!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Title</title>
</head>
<body>
<h1>Hello,Login</h1>
<form action="/login" method="post">
{#action方法注意,POST#}
<input type="text" name="username">
<input type="password" name="password">
<input type="submit" value="Submit">
</form>
<h2>{{ get_flashed_messages()[0] }}</h2>
</body>
</html>

结果:

1,不填表单直接提交:

2,只填写用户名:

大家有没注意到1中“Hello JiKeXueYuan!”这句话直接出现在1图中,但是在输入框中输入文字后,本来显示这句话的位置变成了提示语句。

因为这些语句都在app.py中第9行的模板是index(此时URL页面显示在根目录),而在index中还有表单语句,在表单中输入内容后跳转到login。

3,都填错了:

4,都填对了(我们在代码中内置了用户名和密码:jkxy,123):


注意点:

当没有加入根目录是时候:

则会出现以下情况:

												

Flask消息验证与提示的更多相关文章

  1. Flask消息闪现

    目录 Flask消息闪现 简单的例子 闪现消息的类别 过滤闪现消息 Message Flashing 参考 Flask消息闪现 一个好的应用和用户界面都需要良好的反馈.如果用户得不到足够的反馈,那么应 ...

  2. 我们一起学习WCF 第三篇头消息验证用户身份

    前言:今天我主要写的是关于头消息的一个用处验证用户信息 下面我画一个图,可以先看图 第一步:我们先开始做用户请求代码 首先:创建一个可执行的上下文对象块并定义内部传输的通道 using (Operat ...

  3. 解决视图状态消息验证代码 (MAC) 错误

    https://blog.csdn.net/bingtingabc/article/details/49148745 2015年10月15日 10:05:56 bingtingabc 阅读数:3397 ...

  4. 目录视图摘要视图订阅 基于Extjs开发不允许为空的文本框提示及相应的验证错误提示(转)

    原文地址:http://blog.csdn.net/kunoy/article/details/8007585 本文主要解决问题: 1.区分哪些文本框不允许为空,很多网站都采用在文本框后加*号,ext ...

  5. jquery.validate自定义验证--成功提示与择要提示

    1. 自定义验证--成功提示 1) 添加选项 errorClass: "unchecked", validClass: "checked", errorElem ...

  6. jquery.validate自己定义验证--成功提示与择要提示

    1. 自己定义验证--成功提示 1) 加入选项 errorClass: "unchecked". validClass: "checked", errorEle ...

  7. flask 自定义验证器(行内验证器、全局验证器)

    自定义验证器 在WTForms中,验证器是指在定义字段时传入validators参数列表的可调用对象,下面来看下编写自定义验证器. 行内验证器 除了使用WTForms提供的验证器来验证表单字段,我们还 ...

  8. .NET CORE 微信小程序消息验证的坑

    进入微信小程序,点击开发->选择消息推送->扫码授权,填写必要参数 进入接口开发: /// <summary> /// 验证小程序 /// </summary> / ...

  9. MVVM架构~knockoutjs系列之验证成功提示显示

    返回目录 对于knockout.validation来说,我们已经知道了如何去验证大部分表单元素,而有时,我们的需求希望在每个元素验证成功后,去显示正确的提示,这个我们很容易的使用self.元素.is ...

随机推荐

  1. UE4代码片断备份

    在Actor内创建一个StaticMesh #include "Components/StaticMeshComponent.h" #include "Engine/St ...

  2. subset_lat_dir.sh

    #!/bin/bash     # Copyright 2018 Jarvan Wang # Copyright 2017 Vimal Manohar # Apache 2.0.     cmd=ru ...

  3. 全局API

    Vue.extend( options ): extend创建的是一个组件构造器,而不是一个具体的组件实例 //选项对象 baseOptions let baseOptions= { template ...

  4. RE模块垃圾回收机制

    今日内容 一.垃圾回收机制 函义:不能被程序访问到的数据,就称之为垃圾 1.引用计数 引用计数是用来记录值的内存地址被记录的次数的  每一次对值地址的引用都可以使该值的引用计数 +1 每一次对值地址的 ...

  5. 关于this绑定的四种方式

    一.前言 我们每天都在书写着有关于this的javascript代码,似懂非懂地在用着.前阵子在看了<你不知道的JavaScript上卷>之后,也算是被扫盲了一边关于this绑定的四种方式 ...

  6. IDEA - Debug - not supported in -source 1.5

  7. Git开发工作流

    1.1 master分支 主分支,产品的功能全部实现后,最终在master分支对外发布. 1.2 develop分支 开发分支,基于master分支克隆,产品的编码工作在此分支进行. 1.3 rele ...

  8. kafka 重新分配partition

    登陆kafka manager 进入相关topic 点击generate partition assignments 点击reassign partirons

  9. 020_Linux的孤儿进程与僵尸进程(Unix系统编程)

    1.前言 之前在看<unix环境高级编程>第八章进程时候,提到孤儿进程和僵尸进程,一直对这两个概念比较模糊.今天被人问到什么是孤儿进程和僵尸进程,会带来什么问题,怎么解决,我只停留在概念上 ...

  10. Java中的String、StringBuilder以及StringBuffer

    https://www.cnblogs.com/dolphin0520/p/3778589.html