请详细举例jinjia2语法的使用
时间: 2023-12-02 16:05:48 浏览: 70
当使用 Jinja2 时,我们可以在 HTML 中插入变量、表达式,实现模板渲染和动态内容展示。下面是 Jinja2 的一些语法示例:
1. 变量输出
使用 {{ 变量名 }} 可以在 HTML 中输出变量的值。例如:
```
<p>Hello, {{ name }}</p>
```
其中,name 是一个变量,它的值可以在渲染模板时传入。
2. 控制语句
Jinja2 支持 if、for 等控制语句,可以根据条件或循环来动态生成内容。例如:
```
{% if user %}
<p>Hello, {{ user }}</p>
{% else %}
<p>Hello, guest</p>
{% endif %}
```
```
{% for item in items %}
<li>{{ item }}</li>
{% endfor %}
```
其中,user 和 items 都是变量,if 和 for 是控制语句。
3. 过滤器
Jinja2 支持一些过滤器,可以对变量进行处理。例如:
```
<p>{{ text|lower }}</p>
```
其中,lower 是一个过滤器,可以将 text 变量的值转换为小写。
4. 宏
使用宏可以将一些重复的代码封装起来,方便重复使用。例如:
```
{% macro input(name, value='', type='text') %}
<input type="{{ type }}" name="{{ name }}" value="{{ value }}">
{% endmacro %}
```
然后在模板中可以这样使用:
```
{{ input('username') }}
{{ input('password', type='password') }}
```
这样就可以生成两个输入框,一个是文本框,一个是密码框。
以上是 Jinja2 的一些语法示例,希望对你有所帮助。
阅读全文