了解 webapp2 路由
Understanding webapp2 routes
假设我有以下 webapp2 路由。
webapp2.Route('/api/users/register/verify/<user_id:\d+>/<signup_token:.+>', users.VerificationHandler, name='verification')
我知道第一部分是 URL,然后是请求处理程序的名称,但我不明白 name='verification' 的用途。有人可以解释为什么 name 在 webapp2 路由中使用吗?
另外,uri_for()函数的作用是什么?我们为什么要使用它?
编程上 webapp2
是 class 并且 Route
是在 class.
中定义的函数
webapp2只不过是一种扩展webapp模型以提供额外功能的路由机制:
URI 构建: 可以在需要时构建已注册的路由,避免应用代码和模板中的硬编码 URI。
关键字参数: 处理程序可以从匹配的 URI 接收关键字参数。
嵌套路由: 路由可以扩展匹配多个请求路径。我们将在下面看到一条路由 class 也可以匹配
域和子域。
例如: webapp2.Route('/api/users/register/verify/<user_id:\d+>/<signup_token:.+>', handler=HomeHandler, name='verification')
根据你的例子,name='verification'
它是您 url...
的别名
在你的例子中,
你的 URL 是:'/api/users/register/verify/<user_id:\d+>/<signup_token:.+>'
你记不住,所以名字会帮助你给它取个好记的别名 verification
.
所以你的 URL, /api/users/register/verify/<user_id:\d+>/<signup_token:.+>
= verification
别名将在运行时转换为原始 url
接下来,uri_for()
正如我所说,你为你的大URL分配了别名。所以你知道它的最短别名。如果你想从别名中检索 URL 你可以使用这个函数,
print uri_for('verification')
会给你,/api/users/register/verify/<user_id:\d+>/<signup_token:.+>
假设我有以下 webapp2 路由。
webapp2.Route('/api/users/register/verify/<user_id:\d+>/<signup_token:.+>', users.VerificationHandler, name='verification')
我知道第一部分是 URL,然后是请求处理程序的名称,但我不明白 name='verification' 的用途。有人可以解释为什么 name 在 webapp2 路由中使用吗?
另外,uri_for()函数的作用是什么?我们为什么要使用它?
编程上 webapp2
是 class 并且 Route
是在 class.
webapp2只不过是一种扩展webapp模型以提供额外功能的路由机制:
URI 构建: 可以在需要时构建已注册的路由,避免应用代码和模板中的硬编码 URI。
关键字参数: 处理程序可以从匹配的 URI 接收关键字参数。
嵌套路由: 路由可以扩展匹配多个请求路径。我们将在下面看到一条路由 class 也可以匹配 域和子域。
例如: webapp2.Route('/api/users/register/verify/<user_id:\d+>/<signup_token:.+>', handler=HomeHandler, name='verification')
根据你的例子,name='verification'
它是您 url...
的别名在你的例子中,
你的 URL 是:'/api/users/register/verify/<user_id:\d+>/<signup_token:.+>'
你记不住,所以名字会帮助你给它取个好记的别名 verification
.
所以你的 URL, /api/users/register/verify/<user_id:\d+>/<signup_token:.+>
= verification
别名将在运行时转换为原始 url
接下来,uri_for()
正如我所说,你为你的大URL分配了别名。所以你知道它的最短别名。如果你想从别名中检索 URL 你可以使用这个函数,
print uri_for('verification')
会给你,/api/users/register/verify/<user_id:\d+>/<signup_token:.+>