第14课:Flask模板渲染

Python模板渲染一般用的是render_template模块

由易到难,举2个例子

1.直接展示
python代码文件
#!/usr/bin/env python
# -*- coding: UTF-8 -*-
from flask import Flask, request
from flask import render_template # 加载视图模块

app = Flask(__name__)

@app.route('/')
def hello():
    return 'hello world'

@app.route('/hello')
def show_page():
    return render_template('hello.html') # 加载视图

if __name__ == '__main__':
    app.run(port=8888)

代码目录创建一个templates目录,这个是模板的默认寻找路径,里面创建一个hello.html
内容:
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
</head>
<body>
测试
</body>
</html>


上面代码运行之后,当你访问http://127.0.0.1:8888 会显示hello world
当访问http://127.0.0.1:8888/hello 会显示测试,而且显示的是一个HTML文件

2.参数传递
一般使用Jinja2
安装步骤:
1.到 https://pypi.python.org/pypi/Jinja2 下载对应的whl文件
2.使用安装命令pip install 文件路径
3.使用pip list命令看对应包是否安装成功

使用举例:
python代码文件
#!/usr/bin/env python
# -*- coding: UTF-8 -*-
from flask import Flask, request
from flask import render_template # 加载视图模块

app = Flask(__name__)

@app.route('/')
def hello():
    return 'hello world'

@app.route('/hello/<name>')
def show_page(name):
    return render_template('hello.html', name=name) # 加载视图

if __name__ == '__main__':
    app.run(port=8888)

模板文件
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
</head>
<body>
{{name}}
</body>
</html>

运行代码,访问 http://127.0.0.1:8888/hello/测试 页面会显示测试,由此可见,参数是如何传递的