渲染模板
之前的项目结构中提到了模板目录templates,这个目录用于盛放用于渲染输出的模板文件。在Flask中渲染一个模板十分容易。
from flask import render_template
@app.route('/hello/')
@app.route('/hello/<name>')
def hello(name=None):
return render_template('hello.html', name=name)
Flask提供了一个render_template()
函数来进行模板的渲染,其第一个参数接受一个字符串用于指定模板文件名,之后使用命名参数的方式为模板建立上下文。
指定的模板文件的搜索与项目文件的组织形式有关。如果应用是以模块的形式出现,即使用application.py
来定义Flask实例,则会从模块文件同级的templates
目录里寻找相应名称的模板文件。如果应用是以包的形式出现,参考前面Application factory的例子,则Flask会从包中的templates
目录下开始寻找。
如果不需要输出模板内容,而是输出JSON数据,可以从flask
模块中引入jsonify()
函数,来将要输出的内容转换为JSON字符串。