flask jinja的宏

form中关于表单的定义

class AreaListForm(Form):
    area1 = BooleanField(u‘1区‘, default=False)
    area2 = BooleanField(u‘2区‘, default=False)
    area3 = BooleanField(u‘3区‘, default=False)
    area4 = BooleanField(u‘4区‘, default=False)
    area5 = BooleanField(u‘5区‘, default=False)
    area6 = BooleanField(u‘6区‘, default=False)
    area7 = BooleanField(u‘7区‘, default=False)
    area8 = BooleanField(u‘8区‘, default=False)
    area9 = BooleanField(u‘9区‘, default=False)

class Good_retainForm(AreaListForm):
    user_account = StringField(u‘用户账号‘, validators=[DataRequired()])
    submit = SubmitField(u‘查询‘)

视图函数中的定义

@main.route(‘/goods_retain‘, methods=[‘GET‘, ‘POST‘])
@login_required
def goods_retain():
    form = Good_retainForm()
    return render_template(‘goods_retain.html‘, form=form)

模板中的宏定义

{% macro area_form(form) %}
    {{ form.area1 }}
    {{ form.area1.label }}
    {{ form.area2 }}
    {{ form.area2.label }}
    {{ form.area3 }}
    {{ form.area3.label }}
    {{ form.area4 }}
    {{ form.area4.label }}
    {{ form.area5 }}
    {{ form.area5.label }}
    {{ form.area6 }}
    {{ form.area6.label }}
    {{ form.area7 }}
    {{ form.area7.label }}
    {{ form.area8 }}
    {{ form.area8.label }}
    {{ form.area9 }}
    {{ form.area9.label }}
{% endmacro %}

模板中引用宏

{% from "_area_marco.html" import area_form %}
{{ area_form(form) }}
时间: 2024-10-10 18:25:00

flask jinja的宏的相关文章

12_关于flask中的宏

关于Flask中的 宏 类似于python中的函数,宏的作用就是在模板中重复利用代码,避免代码冗余. Jinja2支持宏,还可以导入宏,需要在多处重复使用的模板代码片段可以写入单独的文件,再包含在所有模板中,以避免重复. 宏的定义和使用 不带参数宏的定义和使用 <!-- 定义, 相当于定义一个函数一样 --> {% macro input() %} <input type="text" name='username' value=''> {% endmacro

【Flask模板】宏的概念和基本使用

# 宏:模板中的宏跟python中的函数类似,可以传递参数,但是不能有返回值,可以将一些经常用到的代码片段放到宏中,然后把一些不固定的值抽取出来当成一个变量.使用宏的时候,参数可以为默认值.相关示例代码如下: 1 1. 定义宏: 2 ```html 3 {% macro input(name, value='', type='text') %} 4 <input type="{{ type }}" name="{{ name }}" value="{

Flask 源码阅读笔记

我觉得我已经养成了一个坏习惯,在使用一个框架过程中对它的内部原理非常感兴趣,有时候需要花不少精力才 明白,这也导致了学习的缓慢,但换来的是对框架的内部机理的熟悉,正如侯捷所说,源码面前,了无秘密.这也是 本文产生的直接原因. 一.flask session原理 flask的session是通过客户端的cookie实现的,不同于diango的服务器端实现,flask通过itsdangerous这个苦 将session的内容序列化到浏览器的cookie,当浏览器再次请求时将反序列化cookie内容,

Python Flask框架——全栈开发(知了课堂)

章节1:Flask视图和URL 课时1[虚拟环境]为什么需要虚拟环境06:28 课时2[虚拟环境]virtualenv创建虚拟环境13:55 课时3[虚拟环境]virtualenvwrapper使用16:42 课时4[Flask预热]课程介绍45:34 课时5[Flask预热]Flask课程准备工作11:30 课时6[Flask预热]URL组成部分详解14:02 课时7[Flask预热]web服务器+应用服务器+web应用框架14:16 课时8[Flask URL]第一个flask程序详解24:

四 .Flask 模板 中间件 特殊装饰器 基础知识(使用)

一 Flask 模板 中间件 特殊装饰器 1 .Flask 模板语法直接看面效果 https://www.cnblogs.com/lovershowtime/p/11349576.html    模板  和Django模板类似 edit.html<form> asdfasdf asdfasdf asdf asdf 哈啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊 </form> login.html <!DOCTYPE html> <html lang="zh-C

Flask基础(14)--&gt;模板代码的复用【宏(Macro)、继承(Block)、包含(include)】

宏 对宏(macro)的理解: 把它看作 Jinja2 中的一个函数,它会返回一个模板或者 HTML 字符串 为了避免反复地编写同样的模板代码,出现代码冗余,可以把他们写成函数以进行重用 需要在多处重复使用的模板代码片段可以写入单独的文件,再包含在所有模板中,以避免重复 定义宏 {% macro input(name,value='',type='text') %} <input type="{{type}}" name="{{name}}" value=&q

Flask之模板之宏、继承、包含

3.5 宏.继承.包含 类似于python中的函数,宏的作用就是在模板中重复利用代码,避免代码冗余. Jinja2支持宏,还可以导入宏,需要在多处重复使用的模板代码片段可以写入单独的文件,再包含在所有模板中,以避免重复. 定义宏 {% macro input() %} <input type="text" name="username" value="" size="30"/> {% endmacro %} 调用宏

flask 使用宏渲染表单(包含错误信息)

在模板中渲染表单时,有大量的工作: 1.调用字段属性,获取<input>定义 2.调用对应的label属性,获取<label>定义 3.渲染错误消息 为了避免为每一个字段重复这些代码,我们可以创建一个宏来渲染表单字段 macro.html: {% macro form_field(field) %} {{ field.label }}<br> {{ field(**kwargs) }}<br> {% if field.errors %} {% for err

Flask 源代码阅读笔记

我认为我已经养成了一个坏习惯.在使用一个框架过程中对它的内部原理非常感兴趣,有时候须要花不少精力才 明确,这也导致了学习的缓慢,但换来的是对框架的内部机理的熟悉,正如侯捷所说,源代码面前,了无秘密.这也是 本文产生的直接原因. 一.flask session原理 flask的session是通过client的cookie实现的.不同于diango的server端实现,flask通过itsdangerous这个苦 将session的内容序列化到浏览器的cookie,当浏览器再次请求时将反序列化co