flask 关于 url_for的解析方式

flask 关于 url_for的解析方式

使用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

 

猜你喜欢

转载自www.cnblogs.com/Deaseyy/p/10859895.html