python / pylons - несколько контроллеров для шаблона - PullRequest
2 голосов
/ 13 ноября 2010

У меня есть главная страница в проекте Python / Pylons, в которой есть несколько разных блоков (например, news / demo / (регистрация | приватная зона) / ...).

Я думаю, что каждый блок должен быть сгенерирован в отдельном контроллере. Как я могу вызвать другой метод контроллера в контроллере главной страницы?

Ответы [ 2 ]

1 голос
/ 13 ноября 2010

То, что вы хотите сделать, это HMVC. Я не уверен, что это легко выполнимо из коробки с Pylons, так как это MVC.

Если у вас есть код, который повторяется на нескольких контроллерах, вы можете переместить часть этого кода из контроллера (в моделях или в другой модуль).

Кроме того, если вы используете шаблоны Mako, вы можете повторно использовать части шаблонов, используя наследование http://www.makotemplates.org/docs/inheritance.html и используя defs http://www.makotemplates.org/docs/defs.html.

0 голосов
/ 14 ноября 2010

Это, вероятно, когда вы начинаете перемещать куски кода в библиотечные функции, в /lib часть вашего проекта Pylons. «Генерирование отдельным контроллером», вероятно, заходит слишком далеко - вам просто не нужно повторяться. Попробуйте использовать библиотечные функции, чтобы убедиться, что доступны правильные данные, затем используйте функции наследования и пространства имен Mako.

...