0

我研究了如何使用 webapp2 在 RedirectRoute 中使用正则表达式。我已经尝试按照此处所说的方式对其进行格式化:http ://webapp-improved.appspot.com/guide/routing.html#the-url-template ,但我仍然无法让我的正则表达式工作。这是我所拥有的:

RedirectRoute('/book/<bookId:([0-9]+)><title:(.*)>',handlers.book,name='book')

对此的呼吁是:

self.redirect_to('book/%s_%s' %(bookId,title))

我期待的网址示例是:

书/5907332378656768_The-Wizzard-of-Oz

当我运行我的应用程序时,我收到以下错误:

错误:“名为 u'book/5907332378656768_The-Wizzard-of-Oz' 的路线未定义。

任何帮助将不胜感激。

EDIT:

嘿大家!感谢布伦特的回应,我能够解决这个问题。我不得不更改self.redirect_to('book/%s_%s' %(bookId,title)) 为以下内容:self.redirect('book/%s_%s' %(bookId,title))

谢谢你们每一个人的帮助!

4

2 回答 2

0

我认为您可以将括号从模式中去掉:

RedirectRoute('/book/<bookId:[0-9]+><title:.*>',handlers.book,name='book')
于 2013-06-19T20:30:23.173 回答
0

通过 Google 搜索可webapp2 error route "is not defined"找到Webapp2 源代码。该错误消息位于default_builder()从 调用的方法中redirect_to()。该方法查找name字段(在本例中为“book”)。也许您打算改为调用redirect()

于 2013-06-20T16:26:55.877 回答