Я знаю, это наивный вопрос :-)Zope 2: В чем разница между «шаблоном» и «представлением»?
Первоначально poped вверх в мой разум над Zope 2: How to properly “browser:page” to make a page available everywhere?
Я знаю, это наивный вопрос :-)Zope 2: В чем разница между «шаблоном» и «представлением»?
Первоначально poped вверх в мой разум над Zope 2: How to properly “browser:page” to make a page available everywhere?
Просмотров являются Вызываемые адаптеры, которые обеспечивают вывод на основе контекста и запроса.
Шаблоны являются вызывающими, которые визуализируют фрагмент текста на основе шаблона. Они часто используются во взглядах.
Обратите внимание, что вид может вернуться текст без использования шаблона:
from zope.publisher.browser import BrowserView
class MyView(BrowserView):
def __call__(self):
return "Hello world, I am located at {0}".format(self.context.absolute_url())
Представление также может быть использовано другим кодом Zope, сами публикациями. Код Zope использует множество представлений внутренне.
Таким образом, 'view' обрабатывает действия, определенные в куске HTML, который генерируется (или несколькими)' template' (s). И эти действия меняют базовую модель (например, 'OFS.Folder'), правильно? –
Они * могут * сделать это, но не обязательно. Но да, контекст может быть «OFS.Folder». –
Тогда зачем нам новый слой ('view')? Я не понимаю цели «взгляда». Побалуйте меня в моем замешательстве, но я не видел подобного шаблона в других веб-фреймворках, которые обычно находятся в форме шаблона → HTML → Действие → Модель. –