webapp2 路由失败
我正在用 Python 和 webapp2 在 app-engine 上搭建我的新网站。
我在定义我网站里的网址(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 个回答
1
你可以用尖括号把正则表达式包起来,这样你的第一种方法就能奏效了:
app = webapp2.WSGIApplication([
webapp2.Route('/', MainPage),
webapp2.Route('/products/', handler=MainProductsHandler),
webapp2.Route('/products/<id:(\w+)>/', handler=ProductHandler)
],debug=True)
别忘了在处理函数的获取方法中加上参数id(或者你选择的其他名字,用来匹配正则表达式),否则它会因为有意外的参数而报错。
1
好的,我解决了这个问题。
app = webapp2.WSGIApplication([('/', MainPage), ('/product/.*', MainPage)], debug=True)
我觉得我在使用 webapp2.Route 方法的时候遇到了问题。
不过还是谢谢你们。