关于url_for的作用

来源:2-1 模板及模板引擎介绍

dh1211

2023-02-27 14:08:56

@app.route('/show/index_render')
@app.route('/show/render2')
def show_render():
    return render_template('index_render.html')


@app.route('/mine')
def mine():
    print(url_for('mine'))
    print(url_for('show_render', _external=True))
    print(url_for('show_render'))
    return render_template('mine.html')

我的理解第一个参数时函数名(视图名),控制台输出对应的url,也就是该视图装饰器的route后的参数。
问题:但是当两个url同时用一个函数处理的时候貌似只显示最靠近函数的url?

写回答

1回答

时间,

2023-02-27

同学,你好!

1、如果一个视图函数上面定义了多个路由,则url_for()返回最后一个

2、可以在设置route()时添加endpoint参数,相当于给视图函数取一个别名,当加了endpoint参数, url_for()函数只能通过endpoint 设置的名称来反向获取视图函数的url地址了(endpoint值前面需要加个点)

例:

https://img.mukewang.com/climg/63fc512909a1ad4a07220524.jpg

https://img.mukewang.com/climg/63fc514809ea61a706010116.jpg


祝学习愉快!

0
hh1211
hp>好的,感谢

h023-02-27
共1条回复

0 学习 · 4469 问题

查看课程