Как отобразить макрос Jinja2 из вызываемого представления?

У меня есть определенные макросы, которые вызываются из нескольких шаблонов.

Например, на странице «Продукт» есть раздел «Обзор», в котором используются макросы, определенные в 'helpers/review.jinja2', для печати каждого обзора.В файле 'helpers/review.jinja2'есть два макроса:

{% macro render_review(request,review) -%}
{% macro render_review_comment(request,comment) -%}

Когда кто-то отправляет новый обзор через ajax, я хочу вернуть обработанный обзор, чтобы добавить содержимое в раздел «Обзор».

Прямо сейчас у меня есть промежуточный шаблон 'review/review.jinja2', который выглядит так:

{% import 'helpers/review.jinja2' as review_helper %}
{{ review_helper.render_review(request,review) }}

Этот шаблон визуализируется из представления :

@view_config(route_name='review.add_review', renderer='review/review.jinja2')
def add_review(request):
    return dict(review=my_new_review)

. Но я надеюсь, что есть лучший способ сделать это. Итак, возможно ли отобразить макрос, определенный в шаблоне?

Спасибо

5
задан tshepang 13 February 2013 в 01:24
поделиться