1

テンプレートに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 の欠点ですか、それとも回避策はありますか?

4

1 に答える 1