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页面传入到宏中。
版权协议须知!
本篇文章来源于 岳岳 ,如本文章侵犯到任何版权问题,请立即告知本站,本站将及时予与删除并致以最深的歉意
1606 0 2020-12-02