flask动态路由:本质就是往url中传递参数,通过控制网页url的形态,来实现不同视图函数的渲染以及动态参数的传递
- 例一
from flask import Flask, render_template
app = Flask(__name__)
@app.route('/name/<string:age>')
def hi(age): # 装饰器中参数为age,这里必须为age
return render_template('hi.html', age=age) # 将参数传递给html模板文件
if __name__ == '__main__':
app.run(debug=True) # 开启debug模式
参数说明:
- render_template:浏览器端进行html文件加载,进行前端渲染
- <string:age>:url中添加一个age字段,类型为字符串,类型可以为多种,比如<int:age>,就是传递的age为整数类型
- age=age:将age当做参数传递给html模板文件
对应的模板文件hi.html
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>sayhi</title>
</head>
<body>
<h1> 你输入的年龄是:{{ age }} </h1>
</body>
</html>
参数说明:
- {{ age }}:jinja2模板中,变量的展示需要使用两个双括号
我们浏览器访问对应url,查看结果如下: