В документации пирамиды есть хороший туториал по UX:
Одна вещь, которую я заметил, заключается в том, что в учебнике они настраивают и передают «глобальный макет» явно в коде (см. Ниже). Я думал, что это было необычно и ненужно, потому что я всегда просто использовал команду «загрузить», как показано в документации здесь:
http://chameleon.repoze.org/docs/latest/
Является ли это просто вопросом личных предпочтений или есть реальные преимущества в настройке и использовании «глобального макета» таким образом?
Базовый класс представления учебника:
class Layouts(object):
@reify
def global_template(self):
renderer = get_renderer("templates/global_layout.pt")
return renderer.implementation().macros['layout']
Файл шаблона учебника:
<div metal:use-macro="view.global_template">
<div metal:fill-slot="content">
<p>Home page content goes here.</p>
</div>
</div>
Но в моих файлах шаблонов я просто использую:
<div metal:use-macro="load: global_layout.pt">
<div metal:fill-slot="content">
<p>Home page content goes here.</p>
</div>
</div>