首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >理解webapp2路由

理解webapp2路由
EN

Stack Overflow用户
提问于 2017-08-04 12:12:00
回答 1查看 357关注 0票数 2

假设我有以下webapp2路由。

代码语言:javascript
复制
webapp2.Route('/api/users/register/verify/<user_id:\d+>/<signup_token:.+>', users.VerificationHandler, name='verification')  

我知道第一部分是URL,然后是请求处理程序的名称,但我不明白name =‘验证’的目的。有人能解释一下为什么在webapp2路由中使用名字吗?

此外,uri_for()函数的目的是什么?我们为什么要用它?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2017-08-04 12:22:15

webapp2是类,Route是类内定义的函数。

webapp2只不过是一种路由机制,它扩展了webapp模型以提供其他特性:

  • URI构建:注册路由可以在需要时构建,避免在应用程序代码和模板中硬编码URI。
  • 关键字参数:处理程序可以从匹配的URI接收关键字参数。
  • 嵌套路由:可以扩展路由以匹配更多的请求路径。我们将在下面看到一个路由类,它也可以匹配域和子域。

Eg: webapp2.Route('/api/users/register/verify/<user_id:\d+>/<signup_token:.+>', handler=HomeHandler, name='verification')

从您的例子来看,name='verification'

它是你网址的别名..。

在你的例子中,

您的网址是:'/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,可以使用此函数,

代码语言:javascript
复制
print uri_for('verification') 

会给你的,/api/users/register/verify/<user_id:\d+>/<signup_token:.+>

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/45506524

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档