Сопоставление шаблона URL с одним RequestHandler в приложении WSGIA - PullRequest
3 голосов
/ 18 июня 2009

Можно ли сопоставить шаблон URL (регулярное выражение или другое сопоставление) с одним RequestHandler? Если так, как я могу сделать это?

В идеале я хотел бы сделать что-то вроде этого:

application=WSGIApplication([('/*',MyRequestHandler),])

Так что MyRequestHandler обрабатывает все сделанные запросы. Обратите внимание, что я работаю над приложением для проверки концепции, где по определению я не буду знать все URL, которые будут поступать в домен. Также обратите внимание, что я делаю это на Google App Engine, если это имеет значение.

Ответы [ 2 ]

8 голосов
/ 18 июня 2009

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

class MyRequestHandler(webapp.RequestHandler):
  def get(self, date, id):
    # Do stuff. Note that date and id are both strings, even if the groups are numeric.

application = WSGIApplication([('/(\d{4}-\d{2}-\d{2})/(\d+)', MyRequestHandler)])

В приведенном выше примере две группы (дата и идентификатор) разбиты и переданы в качестве аргументов функциям вашего обработчика.

1 голос
/ 18 июня 2009
application=WSGIApplication([(r'.*',MyRequestHandler),])

Подробнее см. Документация AppEngine

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