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

 


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM