2012-06-27 2 views
2

Я пишу программу python для Google appengine с помощью jinja2 в качестве моего механизма шаблонов. Я хотел бы иметь один обработчик для множества сообщений, а некоторые из них имеют довольно разные URL-адреса, но все они имеют одну и ту же базу.синтаксис сопоставления url python

Is это возможно для меня, чтобы иметь обработчик URL вроде этого:

app = webapp2.WSGIApplication([('/post/([.*]+)/([.*]+)/([.*]+)/([.*]+)', PostPage), ], debug=True) 

И еще есть он принимает URL-адреса, которые не заполняют каждый из этих addtitions как с URL:

/post/1234/some-title

Если нет, то каким-то образом я могу изменить его, чтобы один обработчик мог получать URL-адреса для многих страниц?

ответ

3

Если вам не нужны (в качестве параметров для обработчика) части пути, которые находятся после/post/{param1}, вы можете просто написать app = webapp2.WSGIApplication([('/post/(.*)/.*', PostPage), и обработчик будет исключать все в виде/post/{id} /.*

+0

ah Я должен был подумать об этом. большое спасибо! – clifgray

+0

, так что он дает мне ошибку: TypeError: get() принимает ровно 3 аргумента (2 приведенных) любую идею, почему это так? – clifgray

+0

@clifgray, если у вас есть два параметра в вашем обработчике, тогда код должен быть: app = webapp2.WSGIApplication ([('/ post /(.*)/(.*)/.*', PostPage) –