統合—Jinjaドキュメント
統合
バベル
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