jinja2 includeファイルに変数渡す

in side7python •  4 years ago  (edited)

https://qiita.com/kermit71/items/3bc1b13ff5e0f90c20ed

{% with 変数名 = 渡す変数名 %}
{% include 'インクルードするファイル' %}
{% endwith %}

{% with %} ~ {% endwith %} で囲んで、withのパラメータに渡したい変数を書く。


テンプレート
{% with name = name %}
{% include 'include.html' %}
{% endwith %}

インクルードされるhtml:include.html
名前:{{ name }}

複数の変数を渡す場合
{% with name = name, address = address %}
{% include 'include.html' %}
{% endwith %}

python側で下記だったら
params = {
'contact': {'Name': u'test', 'user': u'test2'},
'mode' : dispMode,
'rec' : record
}
template = j2env.get_template('/temp.html.jinja2')
return template.render(params)

{% with name = contact.Name %}
になる

20200728
gcp上の最新版は2.6なので使う場合は
appengine_config.pyでローカルで使用していたjinjaを使うようにする必要がある

Authors get paid when people like you upvote their post.
If you enjoyed what you read here, create your account today and start earning FREE STEEM!