いくつかのテンプレートから呼び出されるいくつかのマクロを定義しています。
たとえば、[製品]ページには、で定義されたマクロを使用して'helpers/review.jinja2'
各レビューを印刷する[レビュー]セクションがあります。ファイルには次の'helpers/review.jinja2'
2つのマクロがあります。
{% 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)
しかし、これを行うためのより良い方法があることを願っています。では、テンプレートで定義されたマクロをレンダリングすることは可能ですか?
ありがとう