Значение по умолчанию с обработчиком WSGIApplication? - PullRequest
2 голосов
/ 23 октября 2011

У меня есть следующий код:

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)

Он должен захватывать URL-адреса, такие как:

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

Когда используется первый URL (/something/), я все еще ожидаю, что page равно 1, но на самом деле page равно None. Почему так происходит?

Ответы [ 2 ]

1 голос
/ 23 октября 2011

Просто обходной путь, ожидающий ответа от какого-нибудь гуру регулярного выражения:

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

application = webapp.WSGIApplication([('/something/', MyHandler)
                                     ('/something/(page(\d+))?/?',MyHandler)], 
                                     debug=True)
0 голосов
/ 26 октября 2011

Вот почти идентичная структура, которую я использую, и я рекомендую ее:

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

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

Я не совсем отвечаю на вопрос, но так как я очень доволен этим, и он может делать то, что вы хотите (страницы с идентификационными номерами), вы можете найти это полезным.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...