Jinja2 で割り当てられた変数をインポート/含める 質問する

Jinja2 で割り当てられた変数をインポート/含める 質問する

{% set X=Y %}Jinja2 では、が組み込まれたファイル内の割り当てられた変数 (つまり ) にどのようにアクセスできますかinclude?

2 つの Jinja2 ファイルがある場合、次のように動作すると予想されます。

A.jinja:

Stuff
{% include 'B.jinja' -%}
B has {{ N }} references

B.jinja:

{% set N = 12 %}

A.jinjaJinja2 でコンパイルすると、次の出力が生成されると思います。

Stuff 
B has 12 references

ただし、次のものが生成されます:

Stuff
B has  references

N設定されているファイルを含むファイル内の、上記のような Jinja2 変数にアクセスする方法について、ご意見をいただければ幸いですN

読んでくれてありがとう。

ブライアン

ベストアンサー1

includeとの間には違いがありますimportが、どちらも実行できるはずです。

  • include 'B.jinja単にテンプレートをレンダリングし、その中の変数の割り当てやマクロは無視します。
  • import 'B.jinja' as BBはモジュールであるかのようにインポートするので、 を出力する必要がありますB.N
  • from 'B.jinja' import N変数をN直接インポートします。

インポート行を最後のオプションに変更して、問題が解決するかどうかを確認してください。さらにヘルプが必要な場合は、ドキュメント

おすすめ記事