- 模板-循环loop和宏(PyCharm)
- loop.index、loop.index、loop.lenth例举
- 宏
模板中:
声明变量:
{{ set a=10 }}
使用变量:
{{ a }}
类型:
过滤器:字符串、数字、列表、字典…
流程控制:
{% if %}…{% endif %}
{% for n in data %}…{% endfor %}
函数:
{% macro 宏名(参数) %}
使用各种模板语法:for、if… + html标签
{% endmacro %}
继承:
父模板:base.html
在父模板中预设block
子模板:{% extends ‘base.html’ %}
填充block loop.index、loop.index、loop.lenth例举
loop.index:当前循环迭代的次数(从1开始)
loop.index0:当前循环迭代的次数(从0开始)
loop.revindex:到循环结束需要迭代的次数(从1开始)
loop.revindexo:到循环结束需要迭代的次数(从0开始)
loop.last:如果是最后一次迭代,为True
loop.first:如果是第一次迭代,为True
loop.lenth:序列中的项目数
goods = ['可乐', '雪碧', '芬达', '北冰洋', '椰奶']
@app.route('/goods')
def show_goods():
return render_template('goods.html', goods=goods)
循环loop的使用
| 序号 | 名称 |
|---|---|
| {{loop.index}} | {{good}} |
| 商品种类:{{loop.length}} | |
| {{loop.index}} | {{good}} |
类似于函数,只不过在模板中定义宏就是定义函数,调用宏
步骤:
-
定义:macro.html
{% macro 宏名(参数) %}
使用各种模板语法:for、if… + html标签
{% endmacro %} -
使用宏:
导入宏文件:
{% import ‘macro.html’ as ma %}
调用:
{{ ma.宏名(参数) }}
@app.route('/macro')
def show_macro():
return render_template('index4.html', goods=goods)
macro.html
{% macro input(name, id, type='text') %}
{% endmacro %}
{% macro show_data(datas,clazz='a1') %}
-
{% for data in datas %}
- {{data}} {% endfor %}
index4.html:
{% import 'marco.html' as ma %}
macro的使用
{{ma.input('username','username')}}
{{ma.input('password','password',type='password')}}
{{ ma.show_data(goods)}}



