模板(templates)

通常情况下,我们不会像hello world一样直接在视图函数中编写返回内容,而是专门返回一个渲染过的模板。Flask使用Jinja2完成这一任务。

1.建立模板

在hello.py同目录下建立templates文件夹
然后新建一个index.html,内容如下:

    <h1> Hello World! </h1>

新建一个user.html,内容如下:

    <h1>Hello {{ name1 }}! </h1>

2. 渲染模板

hello.py的文件更新如下

from flask import Flask, render_template #新增导入模块

app = Flask(__name__)

@app.route('/')
def index():
    return render_template('index.html') #渲染模板
    
@app.route('/user/<name2>')
def uesr(name2):
    return render_template('user.html',name1=name2)   #注意参数name,为避免混淆加了数字尾缀。
if __name__ == '__main__':
    app.run()

3.模板中的变量

Jinja2能识别所有类型的变量,例如

  • {{ mydict['key'] }} 字典
  • {{ mylist[3] }} 列表
  • {{ myobj.somemethod() }} 方法
  • {{ name }} 普通变量
    此外还支持控制结构,宏,模板继承等,详见JInja文档
    下一篇主要介绍如何创建模板。
上一篇:搭建离线下载服务器


下一篇:链接管理和静态文件