Flask自身使用了jinja2模板,可以使用render_template()方法来渲染模板,只需要将模板名和关键字的参数传入。
该渲染模板的模块(views.py)会在 templates 文件夹里寻找模板,模块和该文件夹同级。
如下实例:
from flask import render_template from app import app @app.route('/hello/') @app.route('/hello/<name>') def hello(name=None): return render_template('hello.html', name=name)
导入app包中的Flask对象,渲染hello.html模板。hello.html如下:
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>首页</title> {% if name %} <h1> 你好,{{name}}!</h1> {%else%} <h1>你好!</h1> {% endif %} </head> <body> <h1>测试Flask渲染</h1> </body> </html>
ps:项目中可以把特定元素 (比如页眉、导航栏和页脚)写到一个模板,其他模板继承该模板减少冗余代码。