flask中的宏

无纤尘

flask中的宏
模板中的宏和python中的函数类似,可以传递参数,但是不可以返回值,可以将一些经常用到的代码片段放到宏中,然后把一些不固定的值抽取出来当成一个变量。使用宏的会后,参数可以为默认值。相关示例代码如下:
1、定义宏:

{% macro input(name, value="", type="text") %}

    <input type="{{type}}" name="{{name}}" value="{{value}}">

    {% endmacro %}

2、使用宏

<table>
        <tbody>
            <tr>
                <td>用户名:</td>
                <td>{{input('username')}}</td>
            </tr>
            <tr>
                <td>密码:</td>
                <td>{{input('password', type="password")}}</td>
            </tr>
            <tr>
                <td></td>
                <td>{{ input(value="提交",type="submit")}}</td>
            </tr>
        </tbody>
    </table>

3、导入宏
导入宏有两种方式
(1)’import‘宏文件路径 as xxx
示例:

{% import "macros.html" as marcros %}

(2)’from‘ 宏文件的路径 ’import‘ 宏的名字[as xxx]
示例:

 {% from "macros.html" import input as input_field %}

(3)宏文件路径,不要以相对路径去寻找,都要以templates作为绝对路径去找。

(4)如果想要在导入宏的时候,就把当前模板的一些参数传给宏所在的模板,那么就应该导入时使用with context

示例:

 {% import "macros.html" as marcros with context%}

可以理解为将.py文件中context下的数据,加载到相应html页面中,在从html页面传入到宏中。

版权协议须知!

本篇文章来源于 岳岳 ,如本文章侵犯到任何版权问题,请立即告知本站,本站将及时予与删除并致以最深的歉意

409 0 2020-12-02


分享:
自定义时间过滤器

自定义时间过滤器题目:用户发一个帖子,要求记录用户发帖时间...

阅读全文
自定义过滤器

过滤器本质就是一个函数,如果在模板中调用这个过滤器,那么就...

阅读全文
自定义响应

自定义响应注意:在编写代码之前先导入Responsefro...

阅读全文
自定义url转换器。

一、自定义数据类型1、实现一个类,继承自'BaseConv...

阅读全文
icon_mrgreen.gificon_neutral.gificon_twisted.gificon_arrow.gificon_eek.gificon_smile.gificon_confused.gificon_cool.gificon_evil.gificon_biggrin.gificon_idea.gificon_redface.gificon_razz.gificon_rolleyes.gificon_wink.gificon_cry.gificon_surprised.gificon_lol.gificon_mad.gificon_sad.gificon_exclaim.gificon_question.gif
  • 默认
  • 护眼
  • 夜晚
  • 壁纸
  • 默认