5

最終的に ASP.NET を通じて提供される HTML テンプレートのローカル開発 (Mac 上) 用の Flask アプリを作成しています。

ローカル開発の目的で、.NET スタイルのトークンの内容を何らかのデータに置き換える方法が必要です。つまり、Jinja2 は%% ... %%、標準のものに加えてトークンを認識できる必要があります: {{ ... }}<% ... %>など。

私がオンラインで見つけたものはすべて、既存のタグ内にいくつかの新しい機能を含めることに関連しています (例: {{ my_custom_function | arg1 arg2 }})

しかし、タグの新しいパターンを完全に定義するのはどうですか? 誰もこれを成功させましたか?また、Jinja2 コアの変更が必要になりますか?

4

1 に答える 1

7

私の知る限りでは、 と に 1 つのセットを使用することも、block_start_stringblock_end_stringに1 つのセットvariable_start_stringを使用することもできますvariable_end_string

jinja2/environment.py より

`block_start_string`
    The string marking the begin of a block.  Defaults to ``'{%'``.

`block_end_string`
    The string marking the end of a block.  Defaults to ``'%}'``.

`variable_start_string`
    The string marking the begin of a print statement.
    Defaults to ``'{{'``.

`variable_end_string`
    The string marking the end of a print statement.  Defaults to
    ``'}}'``.

これらは環境変数で上書きできます。ただし、複数のタイプを認識させる方法はないと思います。たとえば{{<%両方とも機能することはできませんが、少しハッカーを使えば確実に機能します。

于 2012-08-23T00:55:02.557 に答える