urltree url路由器
urltree的Python项目详细描述
这个包提供了一个面向树的url路由器。大多数url路由器 通过将URL与正则表达式列表匹配来进行操作,直到 他们找到一个匹配的,但这有明显的性能惩罚 如果有很多路线。URLTree不同;存储路由 作为树,将url与路由集进行匹配是等价的 穿越这棵树。
URLTree路由器支持参数,甚至允许参数 要与正则表达式匹配或由转换的值 功能。而且,只要这些“限制”和变量 名称不同,其中一些参数可以在 同一级别的url树;这允许url具有整数 在一个位置映射到一个目的地,而另一个url 同一位置的非整数值可以映射到另一个 目的地。
要使用URLTree,请分配一个URLTree对象并使用 URLTree.route()方法将url模式映射到目标,如 所以:
mapper = URLTree() mapper.route("/article", list_articles, "get") mapper.route("/article", create_article, "post") mapper.route("/article/{id}", get_article, "get", id=int) mapper.route("/article/{id}", update_article, "put", id=int) mapper.route("/article/{id}", delete_article, "delete", id=int)
在接收到请求时,目的地和参数可以是 使用URLTree.resolve()方法检索,如下所示:
# "req.method" is the HTTP method, and "req.url" is the requested # URL dest, params = mapper.resolve(req.method, req.url)
注意,URLTree不解释目的地;示例 上面使用了callables,但是这里可以使用任何东西。