Django使用模版——初級(2)

2075 ワード

共通コマンド
if/else
基本的な使い方
{% if condition %}
    ...
{% endif %}

#   
{% if condition1 %}
    ...
{% elif condition2 %}
    ...
{% else %}
    ...
{% endif %}

さらに、
  • は、and/orを用いて複数の条件を組み合わせて判断することができる
  • 使用可能not変数に対して逆
  • for
    基本的な使い方
    {% for i in items %}
        ...
    {% endfor %}
    
    #       
    {% for j in itmes reversed %}
        ...
    {% endfor %}
    

    ifequal/ifnotequal
    基本的な使い方
    #           
    {% ifequal user currentuser %}
        ...
    {% endifequal %}
    
    #   
    {% ifequal user currentuser %}
        ...
    {% else %}
        ...
    {% endifequal %}
    

    コメント
    コメントが必要な場合は、{# #}を使用します.
    変数の表示
    変数を表示する必要がある場合は、{{ }}辞書または配列の下付き要素を表示する必要がある場合は、{{ kwargs.key1 }}/{{ args.0 }}を使用します..メソッドは、両方の場合に加えて、時間オブジェクトdateを取得する月、例えば{{ date.month }}などの関数オブジェクトまたはオブジェクトの属性を使用することもできます.
    フィルタ
    テンプレートフィルタは、変数が表示される前に変更できます.フィルタは、パイプ文字、例えば、次のlowerを使用します.
    #           
    {{ name|lower }}
    

    フィルタパイプは、1つのフィルタパイプの出力が次のパイプの入力として使用されてもよい.例えば、次のようにしてもよい.
    #          ,         
    {{ name|first|upper }}
    

    フィルタはパラメータを持つことができ、パラメータはコロンに従った後、常に二重引用符で囲まれています.たとえば、次のようになります.
    #      30  
    {{ name|truncatewords:"30" }}
    

    include includeを使用すると、テンプレートに他のテンプレートの内容を含めることができます.たとえば、次のような{%include"other_template.html"%}
    テンプレート継承
    テンプレートは、継承によって多重化することができ、例えば、次のようなbase.htmlhello.htmlによって継承し、特定のblockを置き換えることができる.
    # base.html
    
    
    
        
        js test
    
    
        

    Hello js

    {% block mainbody %}

    base.html

    {% endblock %} # hello.html {% extends "base.html" %} {% block mainbody %}

    hello.html base.html

    {% endblock %} # base.html Hello js base.html # hello.html Hello js hello.html base.html