テンプレートにpyjadeのフラスコを使用しています。テンプレート内でコンテキスト変数に直接アクセスでき、継承されたテンプレートでもアクセスできますが、ミックスインを含めたり、別のテンプレートからミックスインをインポートしようとしたりするとアクセスできません。次に例を示します。
私のFlaskアプリケーションはこのページを提供します:
def home():
return render_template('index.jade', foo='bar')
だから、foo
今の文脈にあります。では、次の mixin があるとしますmixins.jade
。
mixin m()
div= foo
そして私のテンプレートでindex.jade
:
- from 'mixins.jade' import m
div= foo
+m()
テンプレート自体では問題なく読み取ることができますfoo
が、インポートされた mixin では、
jinja2.exceptions.UndefinedError: 'foo' is undefined
これは pyjade の欠点ですか、それとも回避策はありますか?