渲染模板

之前的项目结构中提到了模板目录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字符串。