思路:

  • 通过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处理表单-实现搜索界面的更多相关文章

  1. [flask]jina2处理表单--实现搜索功能

    思路: 获取查询关键字 查询数据库,获得查询结果 将查询结果返回模板文件  forms.py from flask_wtf import FlaskForm from wtforms import S ...

  2. web功能测试之表单、搜索测试

    初入职场接触功能测试老是碰到以下情况不知道怎么写测试用例: 一个界面很多搜索条件怎么写用例?下拉框测试如何考虑测试点?上传要考虑哪些验证点?...... 所以这篇主要是整理关于web测试之表单.搜索测 ...

  3. Flask教程 —— Web表单(上)

    第二章中介绍的request对象公开了所有客户端发送的请求信息.特别是request.form可以访问POST请求提交的表单数据. 尽管Flask的request对象提供的支持足以处理web表单,但依 ...

  4. 【Flask】 WTForm表单编程

    WTForm表单编程 在网页中,为了和用户进行信息交互总是不得不出现一些表单.flask设计了WTForm表单库来使flask可以更加简便地管理操作表单数据.WTForm中最重要的几个概念如下: Fo ...

  5. Flask关于请求表单的粗浅应用及理解+简单SQL语句温习

    1.请求表单 请求表单的知识点是flask数据请求中很小的一部分,首先要了解一下GET和POST请求:http://www.w3school.com.cn/tags/html_ref_httpmeth ...

  6. excel vba 实现跨表单(sheet) 搜索 - 显示搜索行记录搜索历史

    前两天,一个朋友问我,有没有办法在excel里实现一个表单里是原始数据,在另一个表单里显示搜索到的行,搜索关键词可用~分隔开,并把搜索历史记录下来? 我想了想,用vba实现肯定可以啊,但是我又在想,有 ...

  7. Python——Flask框架——Web表单

    一.框架Flask-WTF 安装: pip install flask-wtf 需要程序设置一个密钥 app = Flask(__name__) app.config['SECRET_KEY'] = ...

  8. flask之wtforms 表单验证(一)

    一  安装wtforms pip install wtforms 二  导入相关模块及对象 from wtforms import Form, widgets, validators from wtf ...

  9. Flask—03-bootstrap与表单

    bootstrap与表单 Bootstrap是美国Twitter公司的设计师Mark Otto和Jacob Thornton合作基于HTML.CSS.JavaScript 开发的简洁.直观.强悍的前端 ...

随机推荐

  1. BLE 5协议栈-物理层

    文章转载自:http://www.sunyouqun.com/2017/04/page/4/ 1. 简介 物理层(Physical Layer)是BLE协议栈最底层,它规定了BLE通信的基础射频参数, ...

  2. 08 自学Aruba之限制应用流量

    点击返回:自学Aruba之路点击返回:自学Aruba集锦 08 自学Aruba之限制应用流量 限制带宽请查阅:点击 下文描述的步骤,主要是针对某一个SSID所用用户在使用某一个应用的时候设置共享带宽. ...

  3. Freeradius+Cisco2500AC+OpenLdap认证

    为了将公司内部认证统一化,启用了802.1x认证,认证流程如下: UserClient->AC控制器->Freeradius->OpenLdap 其中: Freeradius做认证使 ...

  4. Spring如何对私有接口进行注入(转载)

    来自:http://didiluck.iteye.com/blog/1779640 Spring 标注@Autowired 如果做到自动装配私有变量而不使用set方法的原理  熟悉jdk的话就知道,方 ...

  5. 【洛谷P3957】跳房子

    题目大意:给定一个数轴和 N 个点,点有点权,现从 0 位置出发,初始时每次只能走 d 的距离,可以在数轴上任意位置停下,此时,会得到一个点权和.现允许支付 x 的费用,使得每次可以走的距离为一个范围 ...

  6. 提取全局应用程序集中的dll

    如何提取全局应用程序集中的dll GAC路径:C:\WINDOWS\assembly 在资源管理器中打开这个路径看到的东西不能复制,右键中也只有 “卸载” 和 “属性” 两个菜单. 在命令提示符下切换 ...

  7. 2017 网易游戏互娱游戏研发4.21(offer)

    网易游戏互娱(offer) 去年这个时候就参加过网易游戏的实习生招聘,到今年总共收到了4次拒信.不过这次运气好,终于get了最想要的offer.去年实习生互娱笔试挂,秋招笔试挂,今年春招互娱投了连笔试 ...

  8. 动软生成器 Liger model生成模板

    <#@ template language="c#" HostSpecific="True" #> <#@ output extension= ...

  9. GitLab项目管理实践

    群组 / 项目 群组和项目的关系我们可以简单的理解成文件夹和文件的关系.一个群组可以包含一个或多个项目. 使用群组,可以将相关的项目组合在一起,并允许成员同时访问多个项目. 群组也可以嵌套在子组中,建 ...

  10. http的get与post

    1.http请求 http有两种报文,请求报文 (发送请求,可能包含数据)和响应报文(服务器响应请求获取数据).一个http请求报文由请求行,请求头部,空行和请求正文(数据)四个部分组成. HTTP请 ...