使用url_for()反解析: 即使当路由发生改变时,依然能通过视图函数访问对应的路由
1.没有蓝图管理路由: {{ url_for(' 视图函数 ', 参数) }}
2.用蓝图管理路由时: {{ url_for(' 蓝图的第一个参数.视图函数 ', 参数) }}
1.方式一
前端显示:
<h2> <a href="{{ url_for('index1func',id=1) }}">home页面--->index1页面</a></h2>
后端接收:
情况一:
通过定义转换器 /< >/ 接收,再传参到视图函数
该链接 请求相当于: 路由地址 /index1/1/
@app.route('/index1/<int:id>/')
def index1func(id):
print(id) # 1
return render_template('index1.html')
情况二:
没有 /<>/ 接收参数时
该链接 请求相当于: 路由地址 /index1/?id=1
@app.route('/index1/')
def index1func():
print() # 1
return render_template('index1.html')
2.方式二
前端显示
<h2><a href="{{ url_for('indexfunc') }}?id={{2}}">home页面--->index1页面</a></h2>
该链接 请求相当于: 路由地址 /index/?id=2
后端接收:
通过 id = request.args.get('id') 来接收
@app.route('/index2/')
def index2func():
id = request.args.get('id')
print(id) # 2