Flask学习笔记(1):add_url_rule()方法

从今天起开始记录一些flask的学习笔记。

add_url_rule()这个方法的作用是将url和对应的视图函数名联系起来,建立映射关系,这以前都是通过route装饰器实现的。比如:

@app.route('/',endpoint='hehe') 这是个有参的装饰器,实现起来就需要在装饰器外面再包一层,里面形成闭包,查看route的源码:

@app.route('/',endpoint='hehe') 就等价于:decorator('index')

在装饰器里面,把传入的关键字参数endpoint取出来,没有就用默认值None,然后就都传到add_url_rule()方法里去了。

其中endpoint结束点指定后,url_for里面传入的就不再是视图函数名了,而是指定的endpoint。通过请求上下文函数可以

输出一下url_for的结果:

在类视图里也要用到add_url_rule()来建立映射关系。

通过as.view方法实现view_func函数的传入。

原文地址:https://www.cnblogs.com/wangyi0419/p/12676880.html