統合—Jinjaドキュメント

提供:Dev Guides
Jinja/docs/3.0.x/integration
移動先:案内検索

統合

バベル

Jinjaは、jinja2.ext.babel_extractと呼ばれる Babel エクストラクタエントリポイントを介してテンプレートからgettextメッセージを抽出するためのサポートを提供します。 このサポートは、 i18n拡張機能拡張機能の一部として実装されています。

Gettextメッセージは、transタグとコード式の両方から抽出されます。

テンプレートからgettextメッセージを抽出するには、プロジェクトのBabel抽出メソッドマッピングファイルにJinjaセクションが必要です。

[jinja2: **/templates/**.html]
encoding = utf-8

Environmentの構文関連オプションは、マッピングファイルの構成値としても使用できます。 たとえば、テンプレートが%line_statement_prefixとして使用することをエクストラクタに伝えるには、次のコードを使用できます。

[jinja2: **/templates/**.html]
encoding = utf-8
line_statement_prefix = %

Extensions は、インポートパスのコンマ区切りリストをextensions値として渡すことによって定義することもできます。 i18n拡張機能は自動的に追加されます。

テンプレート構文エラーはデフォルトで無視されます。 テストはテンプレートの構文エラーをキャッチすることを前提としています。 エラーを無視したくない場合は、設定にsilent = falseを追加してください。


パイロン

Jinjaを Pylons アプリケーションに統合するのは簡単です。

テンプレートエンジンはconfig/environment.pyで構成されています。 Jinjaの構成は次のようになります。

from jinja2 import Environment, PackageLoader
config['pylons.app_globals'].jinja_env = Environment(
    loader=PackageLoader('yourapplication', 'templates')
)

その後、pylons.templatingモジュールのrender_jinja関数を使用してJinjaテンプレートをレンダリングできます。

さらに、Pylons cオブジェクトをstrictモードに設定することをお勧めします。 デフォルトでは、cオブジェクトの欠落している属性に対する属性アクセスは、未定義のオブジェクトではなく、空の文字列を返します。 これを変更するには、これをconfig/environment.pyに追加します。

config['pylons.strict_c'] = True