Уведомления

Jabber-конференция сообщества: pythonua@conference.jabber.ru

#1 Июнь 4, 2007 05:46:41

Naota
От:
Зарегистрирован: 2007-06-04
Сообщения: 197
Репутация: +  0  -
Профиль   Отправить e-mail  

Наследование

Всем привет. Хочу разобраться с наследованием шаблонов. Начал с Myghty. В нем есть флаг наследования, всё работает, но возникает проблема привязки шаблона к контролу, как в ASP .Net например. Таких флагов не нашел. А если без привязки то и смысл отпадает их использовать так. Подскажите, может я не с того конца потянул?



Офлайн

#2 Июнь 4, 2007 18:10:52

j2a
От:
Зарегистрирован: 2006-06-29
Сообщения: 869
Репутация: +  1  -
Профиль   Отправить e-mail  

Наследование

Привязки контроллера к шаблону нет и не будет. Шаблоны – это push, а не pull. Это контроллер говорит, какой шаблон рендерить, а не шаблон говорит каким контроллером будет обрабатываться.

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

P.S. Myghty/Mako вполне себе generic templates, я вон Mako в Twisted чуток использовал, а там контроллера в понимании Pylons нет.



Офлайн

#3 Июнь 5, 2007 10:05:52

Naota
От:
Зарегистрирован: 2007-06-04
Сообщения: 197
Репутация: +  0  -
Профиль   Отправить e-mail  

Наследование

Объясняю как в ASP.NET. Там нет шаблонов, там есть просто отделение логики и дизайна, очень мощное. У страницы дизайна есть свойства всякие, наследования и прочие. И обычна страница привязана к классу. Она может быть и не привязана, но открывается именно страница, а не класс. Есть наследование, просто вставляя другие страницы, как контроллы, в текущую, она получается вложенной и отображаться будет соответственно. В принципе я нашел простое решение для pylons. В начале шаблона импортировать модуль с логикой и всё, в принципе устраивает.



Отредактировано (Июнь 5, 2007 10:09:04)

Офлайн

#4 Июнь 6, 2007 09:17:02

j2a
От:
Зарегистрирован: 2006-06-29
Сообщения: 869
Репутация: +  1  -
Профиль   Отправить e-mail  

Наследование

В принципе я нашел простое решение для pylons. В начале шаблона импортировать модуль с логикой и всё, в принципе устраивает.
Ужс. Не следует переносить архитектурные решения ASP.NET на Pylons. Это, наверно, получится, но будет не эффективно и криво.

Еще раз:
в Pylons реализуется MVC (модель-вид-контроллер). Модель - данные, контроллер - логика, вид - шаблоны. Контроллер в явном виде говорит, какие данные доступны (объекты c, g) и какие элементы логики доступны (объект h) в шаблоне. Импорт модуля внутри шаблона - это плохое решение. Это ломать MVC в MVC-фреймворке. Так может, если его (MVC) не хочется, так и использовать другие средства? Тот же Nevow.



Отредактировано (Июнь 6, 2007 09:20:26)

Офлайн

#5 Июнь 6, 2007 11:27:21

Naota
От:
Зарегистрирован: 2007-06-04
Сообщения: 197
Репутация: +  0  -
Профиль   Отправить e-mail  

Наследование

Если бы я знал как наследовать.. Есть же autohandler. Все другие шаблоны являются к нему дочерним автоматически. Я просто хочу создать подобие autohandler, но уже с логикой. Я понимаю что не правельно делаю, залазя в шаблон с кодом, но как по другому я не знаю.



Офлайн

Board footer

Модераторировать

Powered by DjangoBB

Lo-Fi Version