ジャンゴテンプレートラベルの注意事項

テンプレート変数注:
1、「{}」の中にテンプレート内の変数、必要な変数を使用して。「{{変数}}」
2、あなたがオブジェクト。属性名」によって製造することができるオブジェクトのアクセスプロパティにしたい場合は、 『へのアクセス
3、あなたは辞書にアクセスする場合のみを通じて、対応する値のキー』辞書.keyに"
4、また、「キー」時間「のアクセス辞書で使用される」故にアクセスすることができないような「キープログラミング辞書される属性のそれ自体が辞書に定義されている属性名でキー」、または辞書
5アクセス、またはあなたは[]「道「ではないことで、アクセス」」で、その後も、タプルのリストにアクセスする場合の方法。

第二に、サイクル用のテンプレートのフロントエンド
1、タグの場合は、 ':if文「パイソン」に対応するラベルがある場合、「ELIF」と「他に」対応するが、すべてのタグは、{」(必要なラベルのシンボルがあります%%}「)包まれました。タグは'==' ,! =、<場合は、使用することができるではない、で、>、<=、> =、、である、」ではありません演算子は以下のように決定されます。他の演算子を分析。
2、「の...で...」ラベル:Pythonと同じの使用、リスト、タプル、文字列、辞書を通過することができますし、すべてのオブジェクトをトラバースすることができます。
あなたは横断プラス「逆転」ときに、トラバーサルを逆にしたい場合。サンプルコード:

    {%ための学生学生%}
         <P> {{student.name}} </ P> 
        <P> {{student.age}} </ P 
    {%ENDFOR%}

3、辞書を横断:コード例:

{%ためのキー、値 students.items%}
 <P> {{キー}}:{{値}} </ P> 
{%ENDFOR%}

図4に示すように、ループ内のパラメータの数を提供する:
forloop.counter <1>:現在のサイクルインデックス。開始値として1。
<2> forloop.counter0:現在のサイクルインデックス。開始値として0。
<3> forloop.revcounter:現在の逆サイクルインデックス値。例えば、リストは10個の要素を有し、このプロパティを介して第一時間は10に等しく、第9た、など。1と最後の要素の添え字の通りです。
<4> forloop.revcounter0:最後の要素が0のインデックスであることを除いてforloop.revcounterと同様の、
<5> forloop.first:最初の行の最初のパスを設定するために同時に使用されていないかどうか。
<6> forloop.last:最後の行で同じ時間に適用する設定を使用していない、て最後の時間です。
<7> forloop.parentloop:ネストされた複数のループが存在する場合、この属性は、ループの上に表されます。
オブジェクトを移動するときのため...で...その違いと同じで使用これは、状況下でどの要素が存在しない場合に「空」を実行しますされていますのための...で...空5、コンテンツ。サンプルコード:

{%について studet 学生。%}
     <LI>学生{} {} </ LI> 
{%空%} 
    バイヤーなし学生
{%} ENDFOR%

第三に、一緒に使用ステンシル先端タグ
テンプレートで定義された変数。変数のアクセスがより複雑であるとき時々 、その後、最初の複素変数は、この変数は、それを使用した後、直接、変数上にキャッシュすることができます。

1つの      コンテキスト= {
 2          ' 学生':[ ' 小明'' 小溪' ]
 3      }
 4      
5      {LIST1 = students.1%の%}
 6          <P> {{LIST1}} </ P>
 7      {%ENDWITH %}

タグを使用した場合注:
1、ステートメントで定義された変数と、のみ{%と%}に{%ENDWITHの %は} このタグの外側を使用することができません。
2は、変数の定義は、あなたが等号についての両側にスペースを残すことはできません。例えば{LIST1 = students.1%の%}が間違っています。
3は、書き込みに別の方法があるにもでサポートされています。

1          {LIST1%としてstudents.1と%}
 2              <P> {{LIST1}} </ P>
 3          {%ENDWITH%}

四は、URLのタグ
   テンプレートで、私たちはしばしば、いくつかの「URL」を書く私たちは、この死んだ「URL」を書いたとき、ページに直接ハードコードされ、アップ投稿し、メンテナンスコストが高いです。そして、あなたは、URLのタグを使用することができます。Djangoは「逆」のように使用しました。

<a href= "{% url'book:list' %}'"> ブック一覧ページ</a>

  あなたは、あなたが、位置パラメータ、またはキーワード・パラメータを使用することができますか?バックエンドにパラメータを渡す必要がある場合の対処方法。「両方ではなく、覚えておいてください、と複数のパラメータが存在する場合には、スペースを使用して分割され、」使用しないでください。

    路部分 
    経路(' ディテール/ <book_id> / <chapter_id> / '、views.book_detail、NAME = ' 詳細' 
    
    使用位置パラメータを反転フロントエンドURL 
    <A HREF = " 詳細:{%のURL「ブック'11%}」" >本はページを詳述する</a> フロントエンドURL逆転、キーワード引数を使用<a href=" {% url'book:detail' book_id=1 chapter_id=1
     %}' "> 本はページを詳述する</a>
    
    

五、spacelessタグ:削除HTMLタグの空白文字、スペース、タブ・キー、ラインなどに含まれています。次のようにサンプルコードは次のとおりです。

1      {%spaceless%}
 2          <P>
 3              <a href= 'foo/'>フー</a>の
 4          </ P>
 5      {%のendspacelessの%}

レンダリング後:

<P> <a href= 'foo/'>はFoo </a>の</ P>

spacelessだけのhtmlタグの間に空白文字を削除します。これは、タグとテキストの間の空白文字を削除しません。例えば:

    <span>の
        ない圧縮ん
    。</ span>の

この時点で、それは、spanタグで圧縮されていません。

六、autoescapeラベル
上またはラベルの要素内の自動エスケープをオフにします。自動的に文字のHTML構文を識別できるよう、一部の特殊文字をエスケープすることができ脱出しました。例えば、<それはのように&LTエスケープされ、そして>のよう&GTエスケープされます。デフォルトのテンプレートが自動的にエスケープ開かれました。サンプルコード:

1      コンテキスト情報転送の
2      文脈= {
 3。         " 情報"" <a href='www.baidu.com'>百度</a>を" 
4          }
 。5      自動的にエスケープオフステンシル
。6      {%% ON autoescape }
 。7          {{}}先
 8      {%}%のendautoescape

そして、それは、テキスト内のハイパーリンクのBaiduとして表示されます。オフにオンの場合、文字列は通常通り表示されます。

七、逐語タグ:デフォルトでは、このような{%}と{{%などのテンプレートのフロントエンドでそれらの特殊文字を、レンダリングします。コードスニペットにエンジンを解析するテンプレートを使用したくない場合は、単純にそのままラベルにコードを配置することができます。

1      {%逐語%}
 2          {{ もし}}
 3      {%endverbatim%}

おすすめ

転載: www.cnblogs.com/xshan/p/12114969.html