请稍等 ...
×

采纳答案成功!

向帮助你的同学说点啥吧!感谢那些助人为乐的人

关于flask中路由和视图函数的对应关系的疑问

老师好,在您3-10课程关于flask路由讲解中,您讲到了路由、视图函数以及它们中间的endpoint它们三者的关系,由于框架不单单要求通过路由能找到视图函数,还需要视图函数能反向找到对应的路由,因此引入了endpoint这个事物。我看到您带领我们阅读flask源码里面,有两个关键步骤:self.url_map.add(rule) ,还有一个是self.view_functions[endpoint] = view_func。正是因为它们,所以可以通过路由检索到对应到endpoint,再通过endpoint来找到了对应到视图函数。
我要问到问题是,引入了endpoint也没解决双向检索到问题啊,它们依然只能单向检索,那这个endpoint如何来保证可以反向通过视图函数检索到路由呢?

正在回答

2回答

self.view_functions这个关系记录了endpoint和view_func的关系,为什么就找不到呢?如果要深入指导他是怎么知道的,直接开更底层的源码就可以了。

0 回复 有任何疑惑可以回复我~
  • 提问者 邱晨100 #1
    非常感谢!
    回复 有任何疑惑可以回复我~ 2019-10-27 20:38:20
7七月 2019-10-27 12:43:07

你是如何推断出 无法解决双向检索的?

0 回复 有任何疑惑可以回复我~
  • 提问者 邱晨100 #1
    因为url_map中路由是key,值是endpoint。view_functions中,endpoint是key,值是视图函数。如果要反向检索,需要首先通过视图函数能找到endpoint,再从endpoint找到路由才行啊。
    回复 有任何疑惑可以回复我~ 2019-10-27 14:41:03
问题已解决,确定采纳
还有疑问,暂不采纳
意见反馈 帮助中心 APP下载
官方微信