[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 开发的简洁.直观.强悍的前端 ...
随机推荐
- laravel swoole Call to undefined method Illuminate\Events\Dispatcher::fire()
报错: Call to undefined method Illuminate\Events\Dispatcher::fire() Whoops\Run::handleError("Unca ...
- 清北学堂dp图论营游记day3
.状态压缩dp: 对于这个我们引入二进制状态压缩,因为任何一个数都可以二进制表示,而其二进制表示上每一位都可以表示当前位置是否有元素,这就构成了状态压缩. 对于这个题,上下行&一下就行. 状压 ...
- 第五章 动画 50 动画-transition-group中appear和tag属性的作用
<!DOCTYPE html> <html lang="en"> <head> <meta charset="utf-8&quo ...
- Linux 内核源代码的几个C语言技巧
1.#define中使用do{statement}while(0)保证statement无论在何处都能正确执行一次2.将链表操作抽象出来,与宿主结果相互独立.所有的链表操作都作用与list_head, ...
- MyEclipse开发秘籍——使用DevStyle Icon Designer(一)
[MyEclipse CI 2019.4.0安装包下载] DevStyle主题包括一个Icon Designer,允许您自定义图标.Icon Designer包含在DevStyle主题中,可作为Ecl ...
- 拖动元素,自由变换位置 jquery
拖动元素,将改元素插入到某个元素前/后,并返回当前所在的位置的索引值,代码如下: <!DOCTYPE html><html lang="en"><he ...
- LINUX笔记之二常用命令(权限管理命令)
1. +增加权限:-去掉权限:=直接赋权. r(4)w(2)x(1) 重点掌握:通过数字授权,例如rxwr-xr--是754 例题:用root用户创建目录并在此目录新建文件,之后更改新文件的权限为77 ...
- SQL Server自动备份
1.打开SQL Server Management Studio 数据库-管理-维护计划,右键,维护计划向导 2.在弹出页面右下方点击[更改],修改计划执行方案 根据需要,修改执行时间 3.修改完毕后 ...
- [CF1105E] Helping Hiaset
问题描述 你在某社交网站上面注册了一个新账号,这个账号有\(n(n\leq 10^5)\)次记录.要么就是你更改过一次ID,要么就是一个ID为\(s(|s|\leq 40)\)的朋友访问过你的空间. ...
- IDEA创建spring加struts2项目
选择spring和struts,注意版本,不同的struts版本,过滤器的位置不一样 选择存放位置,并点击完成创建项目,在创建过程中会自动下载相关jar 初始化完成后的目录结构为 修复生成的web.x ...