模板引擎的作用

在Flask中,模板引擎用于将动态数据与HTML页面结合,生成最终的响应内容。它允许开发者通过简单的语法控制页面展示逻辑,实现代码与视图的分离。

  • 主要功能
    • 数据渲染(如变量替换)
    • 逻辑控制(条件判断、循环)
    • 模板继承(减少重复代码)
    • 过滤器和宏(增强可重用性)
Flask_Template

Jinja2模板引擎

Flask默认使用Jinja2作为模板引擎,其语法与Python高度相似,支持以下特性:

  • 变量插入{{ variable }}
  • 条件语句{% if condition %}...{% endif %}
  • 循环结构{% for item in items %}...{% endfor %}
  • 模板继承:通过extendsblock实现布局复用
Template_Inheritance

模板文件结构

通常将模板存放在templates/目录下,例如:

/templates/
    base.html
    index.html
    about.html
  • base.html:基础布局模板
  • index.html:继承自base.html,展示主内容
  • about.html:继承自base.html,展示关于页面

实践示例

# app.py
from flask import Flask, render_template

app = Flask(__name__)

@app.route('/')
def home():
    return render_template('index.html', title="欢迎页面", content="这是动态内容")

if __name__ == '__main__':
    app.run()
Flask_Template_Example

扩展学习

想要深入了解Flask基础概念?点击此处查看Flask入门教程
需要学习更多关于模板引擎的高级用法?前往Jinja2官方文档