endpoint

来源:3-10 深入了解flask路由

jefflike

2018-04-03

url与search函数对应可以用字典的方式实现,那么endpoint如何实现视图函数反向找到对应的url的,遍历字典将值作为key生成新的字典映射关系吗,还是底层什么机制可以找到k,v的关联可以通过v找到key。

http://img.mukewang.com/szimg/5ac2fc0c00019fe004350347.jpg

写回答

4回答

7七月

2018-04-03

这个我记得课程里是有演示的,有两个数据结构记录着url和endpoint 以及endpoint和search视图函数的对应关系的。在url_map里记着的。可以具体看一下。

0
1
jefflike
老师给了基本思路,很好,谢谢
2018-04-03
共1条回复

jefflike

提问者

2018-04-03

还有就是字典self._rules_by_endpoint,的endpoint的value是一个列表,endpoint可以反向关联多个url?

0
0

7七月

2018-04-03

这部分代码是我很早的时候看的,时间有些久了。当时是0.7和现在的不太一样。但你的逻辑基本是正确的。不错。

0
0

jefflike

提问者

2018-04-03

//img.mukewang.com/szimg/5ac309410001ceab06220203.jpgadd_url_rule里self.url_map.add(rule),这里添加了路由和endpoint的关系self._rules_by_endpoint = {},

//img.mukewang.com/szimg/5ac30a470001b62506420119.jpg

所以函数名通过字典view_functions找到endpoint,通过_rules_by_endpoint反向找到对应的路由,flask内部做了两个字典用于url到endpoint到视图的映射关系,是这样吗

0
0

Python Flask高级编程之从0到1开发《鱼书》精品项目

7月老师深入浅出剖析Flask核心机制,和你一起探讨Python高级编程

2751 学习 · 1277 问题

查看课程