flask 模板
1 模板标签
1.1语法
1.{% tag %}
2.
{% tag %}
内容
{% endtag %}
1.2 标签中可包含表达式
1. 条件表达式
- 语法
{% if condition_a %}
满足了A条件
{% elif condition_b %}
满足了B条件
{% else %}
都不满足
{% endif %}
- . if 标签中的is判断
{% if value is defined %}
{% endif %}
-
内置的判断条件
-
.if 标签中的其他逻辑控制
2. for循环
- 语法
<ul>
{% for key,value in data.items() %}
<li class ="{{loop.cycle('odd',"even")}}">
{{key}}:{{value}}
</li>
{% else %}
<li>暂无数据</li>
{% endfor %}
- for 循环体内的变量
- 拓展
3. 注释
- 不会显示在浏览器中的HTML
{ #注释内容# }
4. 去除HTML中多余的空白
在块的开始或结束放置一个减号(-),不能有空格
例如:
{% for item in seq -%}
{{item}}
{%- endfor %}
5. 赋值
- 设置变量,赋值操作
*先设置,后使用,可以通过import导入{%set key,value=(1,2)%}
- 使用with 代码块,实现块级作用域
推荐使用
比如:{% with %} { % set value =42 %} {{value}} # 只在代码块中有效 {% endwith %}
`
6. 转义显示
转义字符的显示:{{}}和{%%}这个如何显示呢?
- 方法一
{{'{{}} {% %}‘}}’
- 方法二
{% raw %} { % for key ,value in data.items % } {{key}}:{{value}} {% endfor % } {% endraw % }
案例
<h3>转义显示</h3>
<p>方法一</p>
{{'{{}} {%%}'}} # 结果:{{}} {%%}
<p>方法二</p>
{% raw %}
{% with %}
{% set temp = 43 %}
{{ temp }}
{% endwith %}
{% endraw %}
"""
结果:
{{ {% with %} {% set temp = 43 %} {{ temp }} {% endwith %}
"""