[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.

原文地址:https://www.cnblogs.com/kaerxifa/p/11875654.html

时间: 2024-07-30 17:39:32

[flask]jinjia2模板-搜索功能的相关文章

flask中jinjia2模板引擎使用详解4

接上文 For循环 和其它编程语言一样,for用来编辑列表中的项.下面以一个例子来说明for在flask的jinjia2模板中的使用. 创建一个模板list.html 代码如下: {% %} {% %}      {% %}      <>{{ }}</>      {% %} {% %} 在code.py中添加url规则 @app.route() renderList():      users = [,,]      render_template(,users = users

flask中jinjia2模板引擎详解4

接上文 For循环 和其它编程语言一样,for用来编辑列表中的项.下面以一个例子来说明for在flask的jinjia2模板中的使用. 创建一个模板list.html 代码如下{% extends "base.html" %} {% block content %}     {% for user in users %}     <li>{{ user }}</li>     {% endfor %} {% endblock %} 在code.py中添加url规

phpcms网页替换验证码及搜索功能

在使用phpcms替换网页的时候,除了正常的替换栏目.内容页等,其他的什么验证码啦,提交表单了,搜索功能了,这些在替换的时候可能会对一些默认文件有一些小小 的改变 下面就是自己在失败中成功的过程,最后终于替换成没有bug的替换.作者:悦~ 一.phpcms的验证码替换 有验证码的地方,一般就是表单了,那么首先就要先制作表单出来了,表单的制作过程很简单,如下: A.制作一张表单出来 (1)登录自己的phpcms后台管理 (2)登录进去后,按照这个步骤进行添加表单 a.模块------表单向导:如图

织梦添加搜索功能

dede如何添加搜索功能代码如下 <form action="plus/search.php" name="formsearch"><input type="hidden" name="kwtype" value="0" />        <input type="text" name="q" value="请输入关键词 如:

ios UISearchDisplayController 实现 UITableView 搜索功能

UISearchDisplayController 是苹果专为 UITableView 搜索封装的一个类. 里面内置了一个 UITableView 用于显示搜索的结果.它可以和一个需要搜索功能的 controller 关联起来,其它的像原 TableView 和搜索结果 TableView 的切换, mask 的显示等等都 封装好了,使用起来非常非常的简单.特别是要实现全屏搜索时使用最多. 全屏搜索的意思是如果你用了  NavigationBar 当点击搜索框时 TableView 会自动弹上去

【转】为Android应用添加搜索功能

为Android应用添加搜索功能 为Android应用增加搜索功能:增加搜索建议

Yii 1开发日记 ----------- 搜索功能及Checkbox的实现

用yii 1实现后台的搜索功能,效果如下图: 1.模型中: 1 public function search() 2 { 3 4 $criteria = new CDbCriteria; 5 //独立高级搜索 6 if(isset( $_GET['goods']) ) { 7 //商品货号 8 if (isset($_GET['goods']['goods_sn']) && $_GET['goods']['goods_sn'] != "") 9 { 10 $criter

ILSpy搜索功能加强版

1.修改搜索功能,增加如下的额外搜索选项 A.按文本搜索(默认选项) B.按通配符搜索 C.按正则表达式搜索 2.搜索增加如下特性: A.可以按照名字空间检索特定名字空间下的所有类. B.修正了官方版本无法搜索泛型类型的功能. 警告: A.此版本为非官方版本. B.本软件为第三方修改软件,此软件的著作权及版权归原作者所有. C.原软件的任何版权声明及相关权益声明同样适用于本软件. 下载地址: https://onedrive.live.com/?cid=e0560144122a3b9d&id=E

ThinkPHP之中getlist方法实现数据搜索功能

自己在ThinkPHP之中的model之中书写getlist方法,其实所谓的搜索功能无非就是数据库查询之中用到的like  %string%,或者其他的 字段名=特定值,这些sql语句拼接在and语句之中: HTML之中: 1 <form action="" method="get"> 2 <table class="account_table" width="100%" cellpadding="