jinja 2紹介

1595 ワード

jinja 2紹介
jinja 2はFlaskの著者が開発したテンプレートシステムで、当初はdjangoテンプレートを模したテンプレートエンジンであり、Flaskにテンプレートサポートを提供し、その柔軟さ、迅速さ、安全性などの利点で広く使用されていた.
jinja 2の利点
jinja 2が広く使われているのは、以下の利点があるからです.
1.jinja 2は、Templateよりも柔軟で、制御構造、式、継承などを提供します.
  • Makoに対してjinja 2は制御構造のみであり、テンプレートに多くのビジネスロジックを記述することは許されない.
  • はDjangoテンプレートに比べてjinja 2のパフォーマンスが優れています.
  • Jinja 2テンプレートの読みやすさは素晴らしいです.

  • インストールjinja 2
    jinja 2はサードパーティモジュールに属するため、まずインストールする必要があります.
    `pip3 install jinja2`

    テンプレートが正常にインストールされたかどうかをテスト
    `python ``-``c ``"import jinja2"` `#            ``#       "`

    jinja 2構文
    テンプレートシステムとして、サポートされている構文に従って記述すると、jinja 2モジュールを使用してレンダリングできる特殊な構文も提供されています.
    基本文法
    jinja 2には、3つの構文があります.
  • 制御構造{%}
  • 変数取値{}}
  • 注記
  • jinja 2変数
    jinja 2テンプレートでは{{}}構文を使用して変数を表し、特殊なプレースホルダです.jinja 2を使用してレンダリングすると、これらの特殊なプレースホルダが塗りつぶされ、jinja 2はpythonのすべてのPythonデータ型、例えばリスト、フィールド、オブジェクトなどをサポートします.
    this is a dicectory:{{ mydict['key'] }} 
    this is a list:{{ mylist[3] }} 
    this is a object:{{ myobject.something() }}

    jinja 2のフィルタ
    変数は「フィルタ」で変更でき、フィルタはjinja 2に組み込まれた関数と文字列処理関数と理解できます.
    一般的なフィルタは次のとおりです.
    フィルタ名
    説明
    safe
    レンダー時に値がエスケープされない
    capitialize
    値の頭文字を大文字に変換し、他の子母を小文字に変換します.
    lower
    値を小文字に変換する
    upper
    値を大文字に変換
    title
    値の各単語の頭文字を大文字に変換
    trim
    値の先頭と末尾のスペースを削除
    striptags
    レンダリング前に値のすべてのHTMLタグを削除
    join
    複数の値を文字列に結合
    replace
    置換文字列の値
    round
    デフォルトでは数値を四捨五入したり、パラメータで制御したりできます.
    要点
    値を整数に変換する