Сбой маршрута webapp2 - PullRequest
       10

Сбой маршрута webapp2

1 голос
/ 10 декабря 2011

Я создаю свой новый веб-сайт, используя app-engine с python и webappapp2. У меня трудные времена для определения 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 голос
/ 06 ноября 2012

Ваш первый подход будет работать с использованием угловых скобок, оборачивающих регулярное выражение следующим образом:

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

Не забудьте добавить идентификатор параметра (или любое другое имя, выбранное вами для соответствия регулярному выражению) в метод get обработчика, иначе он будет жаловаться на неожиданный параметр.

1 голос
/ 10 декабря 2011

ОК, я решил это. просто так:

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

Я думаю, что у меня возникла проблема при использовании метода webapp2.Route

спасибо в любом случае

...