我正在使用带有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)
答案 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方法中,否则它会抱怨意外的参数。