我有以下代码:
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
等于无。为什么会这样呢?
答案 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号的页面),你可能会发现它很有用。