webapp2路由失败

时间:2011-12-09 21:28:50

标签: python google-app-engine web webapp2

我正在使用带有python和webapp2的app-engine构建我的新网站 我很难在我的Web应用程序中定义URI

我需要的结果是:

http://www.example.com/
http://www.example.com/products/
http://www.example.com/products/table

我认为这是一件容易的事,但显然不是(对我来说,无论如何)

当我尝试加载类似的东西时,我收到404错误: http://www.example.com/products/chair/

我的错误在哪里?

app = webapp2.WSGIApplication([
webapp2.Route('/', MainPage),
webapp2.Route('/products/', handler=MainProductsHandler),
webapp2.Route('/products/(\w+)/', handler=ProductHandler)
],debug=True)

2 个答案:

答案 0 :(得分:1)

好的,我解决了。 就像那样:

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

我认为使用webapp2.Route方法时出现问题

非常感谢

答案 1 :(得分:1)

你的第一种方法可以使用尖括号包装常规表达式,如下所示:

app = webapp2.WSGIApplication([
webapp2.Route('/', MainPage),
webapp2.Route('/products/', handler=MainProductsHandler),
webapp2.Route('/products/<id:(\w+)>/', handler=ProductHandler)
],debug=True)

不要忘记将param id(或您为正则表达式匹配选择的任何名称)添加到处理程序的get方法中,否则它会抱怨意外的参数。