WSGIApplication Handler的默认值?

时间:2011-10-23 06:33:06

标签: python google-app-engine

我有以下代码:

class MyHandler(webapp.RequestHandler):
    def get(self, page_text, page=1): # page default value is 1, but it doesn't work

application = webapp.WSGIApplication([('/something/(page(\d+))?/?', MyHandler)], debug=True)

它应该捕获以下网址:

/something/
/something/page1
/something/page1/
/something/page2
/something/page2/
/something/pageN
/something/pageN/

当使用第一个网址(/something/)时,我仍然希望page等于1,但实际上page等于无。为什么会这样呢?

2 个答案:

答案 0 :(得分:1)

等待一些正则表达式大师回答的解决方法:

class MyHandler(webapp.RequestHandler):
    def get(self, page_text = None, page = 1)

application = webapp.WSGIApplication([('/something/', MyHandler)
                                     ('/something/(page(\d+))?/?',MyHandler)], 
                                     debug=True)

答案 1 :(得分:0)

这是我使用的几乎相同的结构,我推荐它:

class PageHandler(BaseHandler):
  def get(self, page_id):

('/page/([0-9]+)', PageHandler),

我并没有完全回答这个问题,但由于我对此非常满意并且它可以做你想要的(带有ID号的页面),你可能会发现它很有用。

相关问题