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函数的传入。