Flask源码学习笔记2:路由映射 发表于 2017-12-13 | 阅读次数 简单的路由绑定就像这样 123@app.route('/')def index(): pass 在Flask内部可以这样做 123def index(): passapp.add_url_rule('/', 'index', index) 在add_url_rule函数中核心代码主要是这几行 123456rule = self.url_rule_class(rule, methods=methods, **options)self.url_map.add(rule)if view_func is not None: ... self.view_functions[endpoint] = view_func 其中url_rule_class和url_map都是利用的werkzeug.routing的代码,核心的类就是Rule, Map, MapAdapter,代码看的我头疼,一方面现在智力下滑严重,很多看不懂,另外一方面,感觉怎么这么麻烦不就是简单的从url到具体函数的匹配么?可是深入看的话,发现人家的功能确实强大,比如可以进行变量转换,还能生成url。