Найти - Пользователи
Полная версия: Наследование
Начало » Pyramid / Pylons / TurboGears » Наследование
1
Naota
Всем привет. Хочу разобраться с наследованием шаблонов. Начал с Myghty. В нем есть флаг наследования, всё работает, но возникает проблема привязки шаблона к контролу, как в ASP .Net например. Таких флагов не нашел. А если без привязки то и смысл отпадает их использовать так. Подскажите, может я не с того конца потянул?
j2a
Привязки контроллера к шаблону нет и не будет. Шаблоны – это push, а не pull. Это контроллер говорит, какой шаблон рендерить, а не шаблон говорит каким контроллером будет обрабатываться.

Я прямо скажу, с ASP.NET не знаком, поэтому для меня фраза “без привязки то и смысл отпадает их использовать так” не понятна. Наследование шаблонов нужно для реиспользования шаблонов. Чтобы не писать повторяющиеся элементы по пять раз.

P.S. Myghty/Mako вполне себе generic templates, я вон Mako в Twisted чуток использовал, а там контроллера в понимании Pylons нет.
Naota
Объясняю как в ASP.NET. Там нет шаблонов, там есть просто отделение логики и дизайна, очень мощное. У страницы дизайна есть свойства всякие, наследования и прочие. И обычна страница привязана к классу. Она может быть и не привязана, но открывается именно страница, а не класс. Есть наследование, просто вставляя другие страницы, как контроллы, в текущую, она получается вложенной и отображаться будет соответственно. В принципе я нашел простое решение для pylons. В начале шаблона импортировать модуль с логикой и всё, в принципе устраивает.
j2a
В принципе я нашел простое решение для pylons. В начале шаблона импортировать модуль с логикой и всё, в принципе устраивает.
Ужс. Не следует переносить архитектурные решения ASP.NET на Pylons. Это, наверно, получится, но будет не эффективно и криво.

Еще раз:
в Pylons реализуется MVC (модель-вид-контроллер). Модель - данные, контроллер - логика, вид - шаблоны. Контроллер в явном виде говорит, какие данные доступны (объекты c, g) и какие элементы логики доступны (объект h) в шаблоне. Импорт модуля внутри шаблона - это плохое решение. Это ломать MVC в MVC-фреймворке. Так может, если его (MVC) не хочется, так и использовать другие средства? Тот же Nevow.
Naota
Если бы я знал как наследовать.. Есть же autohandler. Все другие шаблоны являются к нему дочерним автоматически. Я просто хочу создать подобие autohandler, но уже с логикой. Я понимаю что не правельно делаю, залазя в шаблон с кодом, но как по другому я не знаю.
This is a "lo-fi" version of our main content. To view the full version with more information, formatting and images, please click here.
Powered by DjangoBB