[flask]jinjia2处理表单-实现搜索界面
思路:
- 通过flask-wtf创建forms表单类
- 在app.py中创建search_name()视图函数,实例化form表单类,将通过render_template将form传给html模板
- 创建html模板,引用form表单类生成的 文本输入框,搜索按钮
forms.py
from flask_wtf import FlaskForm
from wtforms import StringField,SubmitField
from wtforms.validators import DataRequired class SearchForm(FlaskForm):
search_creater=StringField('creater',validators=[DataRequired()])
submit=SubmitField('搜索')
case_manage.html
<!--200case搜索表单-->
<div class="page-header" style="padding-top:60px;">
<div id="navbar" class="navbar-collapse collapse">
<form class="navbar-form" method="get" action="/search_creater/">
{{form.csrf_token}}
{{form.search_creater(placeholder='创建者',class_='form-control')}}
{{form.submit(class_='btn btn-success')}}
</form>
</div>
</div>
app.py
@app.route('/auto_test_case')
def auto_test_case():
form = SearchForm()
return render_template('auto_test_case.html', cases=auto_test_case_objs,form=form)
效果:

知识点:
在创 建 HTML 表单时,我们 经常会需要使用 HTML < input>元素的其他属性来对字段进行
设置 。 比如,添加 c lass 属性设置对应 的 css 类为字段添加样 式 ; 添加 placeholder 属性设置占
位文本 。 默认情况下, WTForms 输出的字段 HTML 代码只 会包含 id 和 name 属性,属性值均为
表单类中对应 的字段属性名称 。 如 果要添加额外的属性,通常有两种方法 。
1.使用render_kw属性
比如下面的username字段使用render_kw设置了placeholderHTML属性:
username=StringField('Username',render_kw=('placeholder':'Your Username'))
这个字段被调用后输出的HTML代码如下所示:
<input type="text" id="username" name="username" placeholder="Youre Username">
2.在调用字段时传入
在调用字段属性时,通过添加括号使用关键字参数的形式也可以传入字段额外的HTML属性:
form.username(style='width: 200px;',class_='bar') u'<input class="bar" id="username" name="username" style="width:200px;" type="text">'
注:
class是Python的保留关键字,在这里使用class_代替class,渲染后的<input>会获得正确的class属性,在模板中调用时则可以直接使用class.
[flask]jinjia2处理表单-实现搜索界面的更多相关文章
- [flask]jina2处理表单--实现搜索功能
思路: 获取查询关键字 查询数据库,获得查询结果 将查询结果返回模板文件 forms.py from flask_wtf import FlaskForm from wtforms import S ...
- web功能测试之表单、搜索测试
初入职场接触功能测试老是碰到以下情况不知道怎么写测试用例: 一个界面很多搜索条件怎么写用例?下拉框测试如何考虑测试点?上传要考虑哪些验证点?...... 所以这篇主要是整理关于web测试之表单.搜索测 ...
- Flask教程 —— Web表单(上)
第二章中介绍的request对象公开了所有客户端发送的请求信息.特别是request.form可以访问POST请求提交的表单数据. 尽管Flask的request对象提供的支持足以处理web表单,但依 ...
- 【Flask】 WTForm表单编程
WTForm表单编程 在网页中,为了和用户进行信息交互总是不得不出现一些表单.flask设计了WTForm表单库来使flask可以更加简便地管理操作表单数据.WTForm中最重要的几个概念如下: Fo ...
- Flask关于请求表单的粗浅应用及理解+简单SQL语句温习
1.请求表单 请求表单的知识点是flask数据请求中很小的一部分,首先要了解一下GET和POST请求:http://www.w3school.com.cn/tags/html_ref_httpmeth ...
- excel vba 实现跨表单(sheet) 搜索 - 显示搜索行记录搜索历史
前两天,一个朋友问我,有没有办法在excel里实现一个表单里是原始数据,在另一个表单里显示搜索到的行,搜索关键词可用~分隔开,并把搜索历史记录下来? 我想了想,用vba实现肯定可以啊,但是我又在想,有 ...
- Python——Flask框架——Web表单
一.框架Flask-WTF 安装: pip install flask-wtf 需要程序设置一个密钥 app = Flask(__name__) app.config['SECRET_KEY'] = ...
- flask之wtforms 表单验证(一)
一 安装wtforms pip install wtforms 二 导入相关模块及对象 from wtforms import Form, widgets, validators from wtf ...
- Flask—03-bootstrap与表单
bootstrap与表单 Bootstrap是美国Twitter公司的设计师Mark Otto和Jacob Thornton合作基于HTML.CSS.JavaScript 开发的简洁.直观.强悍的前端 ...
随机推荐
- 韦东山嵌入式Linux学习笔记05--存储管理器
SDRAM: 原理图如下: jz2440 v3开发板上面用的内存芯片为钰创科技公司生产的EM63A165TS,一片内存大小为32MB大小,一共有两块,共64MB的大小. SDRAM接 ...
- 自学Python-基于tcp协议的socket
自学Python之路-Python基础+模块+面向对象自学Python之路-Python网络编程自学Python之路-Python并发编程+数据库+前端自学Python之路-django 自学Pyth ...
- ip正则
IP地址是指互联网协议地址(英语:Internet Protocol Address,又译为网际协议地址),是IP Address的缩写.IP地址是IP协议提供的一种统一的地址格式,它为互联网上的每一 ...
- 模拟赛小结:2018-2019 ACM-ICPC Nordic Collegiate Programming Contest (NCPC 2018)
比赛链接:传送门 两个半小时的时候横扫了铜.银区的所有题,签到成功混进金区.奈何后面没能开出新的题. 最后一个小时的时候xk灵机一动想出了D题的做法,讨论了一波感觉可行,赶紧去敲.结束前2分钟终于过了 ...
- Eclipse设置模板codetemplates
在Window->Preferences->Java->Code Style->Code Templates,点击"Import",导入模板codetemp ...
- php检测函数是否存在函数 function_exists
php检测函数是否存在函数 function_exists 语法 bool function_exists ( string $function_name )检查的定义的函数的列表,同时内置(内部)和 ...
- Codeforces 708D 上下界费用流
给你一个网络流的图 图中可能会有流量不平衡和流量>容量的情况存在 每调整一单位的流量/容量 需要一个单位的花费 问最少需要多少花费使得原图调整为正确(可行)的网络流 设当前边信息为(u,v,f, ...
- lemon用法
zhx精讲用法: 首先,打开 柠檬图标. 只留g++ 然后按照这个路径进入c++找编译文件: 打开后点确定. 然后在你的试题中找到后缀为cdf的文件(为试题的全部信息),然后添加到试题中,然后把选手文 ...
- SAP的春天回来么?
作为一个财务出身的码农,经常会关注在财务和编程的交叉领域,新兴的细分领域有:德勤的财务机器人,RPA机器人,FINTECH等等. 但是非要说一个便是sap.如果呈把用友成立之年算作sap元年,1988 ...
- Win10 搭建IIS服务
IIS服务器,俗称:Web服务器又或者叫做网站服务器. IIS详解: https://baike.baidu.com/item/iis/99720?fr=aladdin 开始搭建: 1. 打开控制面板 ...