django内蔵ラベルとフィルタ(二)

2073 ワード

date
指定したフォーマットに基づいてdate変数をフォーマットする注意:これらのフォーマット文字はテンプレート外のDjangoでは使用されません.設計者が簡単に移行できるようにPHPと互換性があるように設計されています.
{{ value|date:"D d M Y" }}

valueがdatetimeオブジェクトの場合、出力は文字列'Mon 06 Nov 2017'になります.転送されるフォーマットは、事前定義されたフォーマットDATE_であってもよいFORMAT,DATETIME_FORMAT,SHORT_DATE_FORMAT,SHORT_DATETIME_FORMAT
{{ value|date:"SHORT_DATE_FORMAT" }}
#"09/01/2008"  "d/m/Y"
{{ value|date }}
   DATE_FORMAT            ,         。

dateフィルタとtimeフィルタを組み合わせて使用して、datetime値の完全な表現を表示できます.例:
{{ value|date:"D d M Y" }} {{ value|time:"H:i" }}

default
valueの計算結果がFalseの場合、指定されたデフォルト値が使用されます.そうでない場合は、valueを使用します.
{{ value|default:"nothing" }}

valueが「」(空の文字列)の場合、出力はnothingになります.
default_if_none
valueがNoneの場合のみ、指定したデフォルト値が使用されます.そうでない場合は、valueが使用されます.空の文字列が指定されている場合は、デフォルト値は使用されません.たとえば、次のようにします.
{{ value|default_if_none:"nothing" }}

valueがNoneの場合、出力はnothingになります.
dictsort
辞書を受け取り、パラメータで与えられたキー順の結果を返します.(昇順)たとえば、次のようになります.
{{value|dictsort:'name'}}

valueが次の場合:
[
    {'name': 'zed', 'age': 19},
    {'name': 'amy', 'age': 22},
    {'name': 'joe', 'age': 31},
]

出力は次のようになります.
[
    {'name': 'amy', 'age': 22},
    {'name': 'joe', 'age': 31},
    {'name': 'zed', 'age': 19},
]

価格の昇順に書籍を並べます.
{% for book in books|dictsort:"book.price" %}
    {{ book.title }} ({{ book.author.name }})
{% endfor %}

dictsortreversed
ディクショナリのリストを取得し、パラメータに与えられたキーに従って逆の順序でソートされたリストを返します.(降順)これは上のフィルタと全く同じですが、返される値は逆の順序になります.
divisibleby
valueが与えられたパラメータを除算することができる場合、True {{ value|divisibleby:"3" }}に戻り、valueが21である場合、出力はTrueになる.