Route GAE webapp2中的可选URL参数

时间:2012-08-11 02:18:38

标签: python regex google-app-engine url-routing

我是Python和GAE的新手。我正在为一些测试数据设置一个基本的CRUD应用程序,并试图为管理页面设置一些路由。我想使用相同的页面来创建和编辑对象。所以基本上我想要:

/admin/edit/<id>

其中<id>是可选的,/admin/edit将路由到同一页面。我尝试在路由中添加<id:\w*>,然后允许我在不提供ID的情况下点击页面,但是当我提供ID时,我收到了404.然后我尝试了<id:\w+>并获得了404没有身份证。我没有太多运气。

任何人都可以帮我解决我需要的正则表达式吗?

1 个答案:

答案 0 :(得分:0)

您可以设置正则表达式来解析URL中的ID。这是使用webapp2的一个非常有用的例子:

app = webapp2.WSGIApplication([('/', MainPage),
                               ('/property/(.*)', PropertyHandler)],
                              debug=True)

您设置了请求处理程序以接受其他参数:

class PropertyHandler(webapp2.RequestHandler):
    def get(self, propertyId):

对于真实世界的实现,您希望在正则表达式上更具体一些,并在处理程序中添加验证,以防止垃圾或无ID。