いくつかのテンプレートから呼び出されるマクロがいくつか定義されています。ビューから呼び出し可能なJinja2マクロをレンダリングするには?
たとえば、製品ページには、'helpers/review.jinja2'
で定義されたマクロを使用して各レビューを印刷するレビューセクションがあります。 'helpers/review.jinja2'
ファイルには、この二つのマクロがあります:
{% macro render_review(request,review) -%}
{% macro render_review_comment(request,comment) -%}
誰かが新しいレビューを提出し、アヤックスを経て、私はレビューセクションにコンテンツを追加するために、レンダリングされたレビューを返すようにしたいです。
今、私はこのようになります中間テンプレート'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)
しかし、私が行うには良い方法があると願っていますこの。だから、テンプレートで定義されたマクロをレンダリングすることは可能ですか?
おかげ
私はJinja2ののa〜dの迅速な検索をしましたこれを行う方法はないようです。 –