在上一阶段,我们一起学习了基于Python地 web框架Flask,并且初步了解了这个框架有一种渲染方式叫做 模板语法,今天,我们一起再来深入地了解和学习这个叫做Jinja2地模板语法。
Flask 的模板渲染由Jinja2提供支持,Jinja2 是一个强大的 Python 模板引擎。现在假设你已经对它有了基本的了解,所以接下来让我们更深入地了解 Flask 模板渲染的高级功能和最佳实践。
1. Jinja2 模板语法回顾
在进一步介绍之前,这里先简单概述一下 Jinja2 的语法:
- 变量:
{ { variable }}
- 控制结构:
{% if condition %} ... {% endif %}
,{% for item in items %} ... {% endfor %}
- 筛选器:
{ { variable|filter_name }}
- 评论:
{# This is a comment #}
- 继承:
{% extends "base.html" %}
,{% block content %} ... {% endblock %}
根据上面的模板语法,我们使用一个例程来实现Jinja2 模板语法回顾:
代码示例:
1.1 变量
在模板中,我们可以通过 {
{ variable }}
来渲染变量的值。
示例:
<!DOCTYPE html>
<html lang="zh">
<head>
<meta charset="UTF-8">
<title>Jinja2 模板语法回顾</title>
</head>
<body>
<h1>欢迎,{
{ name }}!</h1>
<p>你当前的年龄是:{
{ age }}岁。</p>
</body>
</html>
1.2 控制结构
使用 {% %}
来执行控制结构,例如条件判断和循环。
条件判断:
{% if age >= 18 %}
<p>你是成年人。</p>
{% else %}
<p>你是未成年人。</p>
{% endif %}
循环:
<ul>
{% for item in items %}
<li>{
{ item }}</li>
{% endfor %}
</ul>
1.3. 过滤器
过滤器用于修改输出的值,比如格式化日期、文本转换等。使用 |
来调用过滤器。
示例:
<p>{