本章主题
关键词
模板
模板是⼀个 web开发 必备的模块。因为我们在渲染⼀个网页的时候,并不是只渲染⼀个纯⽂本字符串,⽽是需要渲染⼀个有富⽂本标签的⻚⾯。这时候我们 就需要使⽤模板了。
在 Flask 中,配套的模板是 Jinja2,Jinja2 的作者也是 Flask 的作者。这个模板⾮常的强⼤,并且执⾏效率⾼。以下对 Jinja2 做⼀个简单介绍。
Flask 渲染 Jinja模板
要渲染⼀个模板,通过 render_template
⽅法即可:
from flask import Flask,render_template
app = Flask(__name__)
@app.route('/about/')
def about():
return render_template('about.html')
当访问 /about/
的时候,about()
函数会在当前⽬录下的 templates
文件夹下寻找 about.html
模板⽂件。如果想更改模板⽂件地址,应该在创建 app
的时候,给 Flask 传递⼀个关键字参数 template_folder
,指定具体的路径:
from flask import Flask,render_template
app = Flask(__name__,template_folder=r'C:\templates')
@app.route('/about/')
def about():
return render_template('about.html')
以上例⼦将会在 C盘 的 templates
⽂件夹中寻找模板⽂件。还有最后⼀点是,如 果模板⽂件中有参数需要传递,应该怎么传呢?
from flask import Flask,render_template
app = Flask(__name__)
@app.route('/about/')
def about():
# return render_template('about.html',user='luoji')
return render_template('about.html',**{'user':'zhiliao'})
以上例⼦介绍了两种传递参数的⽅式,因为 render_template
需要传递的是⼀个 关键字参数,所以第⼀种⽅式是顺其⾃然的。但是当你的模板中要传递的参数 过多的时候,把所有参数放在⼀个函数中显然不是⼀个好的选择,因此我们使⽤字典进⾏包装,并且加两个 *
号,来转换成关键字参数。
总结小便条
本篇文章主要讲了以下几点内容:
本章回顾暂时就到这了,如果还有点晕,那就把文章里所有引用的案例代码再敲几遍吧。拜拜~