flask 关于 url_for的解析方式

Posted deaseyy

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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

 

以上是关于flask 关于 url_for的解析方式的主要内容,如果未能解决你的问题,请参考以下文章

Flask-蓝图中url_for的使用,别走弯路了~~

Flask初学者:url_for

flask url_for后没有带端口号

[flask]jinjia2-模板 url_for的使用

flask第九篇——url_for

flask第九篇——url_for