Что мне нужно реализовать, чтобы добавить новый язык шаблонов для repoze.bfg? Будет ли платформа отправлять мои плагины абсолютными путями или относительными путями пакетов или оба они зависят?Как подключить новый язык шаблонов к repoze.bfg?
ответ
Пакет на http://svn.repoze.org/repoze.bfg.jinja2/trunk/repoze/bfg/jinja2/ содержит дополнительные крепления Jinja2 для BFG. В принципе, вы создаете такой пакет, а затем позволяете людям подключать его к своим системам.
Существует два уровня интеграции. Первый раз интеграция импорта уровня, который позволит людям делать что-то вроде:
из my.template.system импорта render_template_to_response
Защиту AView (запрос): возвращение render_template_to_response ('некоторые/родственник/путь .myt ')
Приобретая методы render_template * в repoze.bfg.jina2, заменив их аналогами для вашей любимой системы шаблонов, вы получите это.
Другой уровень интеграции - позволить использовать вашу систему шаблонов в качестве «средства визуализации». Это позволяет, например:
@bfg_view (рендерер = "некоторые/родственник/path.myt") Защиту AView (запрос): возвращение { 'а': 1}
Чтобы сделать это, обезьяну «renderer_factory» в repoze.bfg.jinja2, а затем попросите людей добавить этот рендерер в свою конфигурацию через «config.add_renderer (renderer_factory,« .myt »)» (обязательно) или включив файл ZCML, который вы отправляете вместе с ваш пакет в ZCML.