django.contrib.humanize
データに「人間味」を加えるのに役立つDjangoテンプレートフィルターのセット。
これらのフィルターをアクティブにするには、'django.contrib.humanize'
を:setting: `INSTALLED_APPS` 設定に追加します。 それが済んだら、テンプレートで{% load humanize %}
を使用すると、次のフィルターにアクセスできるようになります。
apnumber
1〜9の数字の場合、スペルアウトされた数字を返します。 それ以外の場合は、数値を返します。 これはAP通信のスタイルに従います。
サンプル
1
はone
になります。2
はtwo
になります。10
は10
になります。
整数または整数の文字列表現のいずれかを渡すことができます。
intcomma
整数または浮動小数点数(またはいずれかの文字列表現)を、3桁ごとにコンマを含む文字列に変換します。
サンプル
4500
は4,500
になります。4500.2
は4,500.2
になります。45000
は45,000
になります。450000
は450,000
になります。4500000
は4,500,000
になります。
フォーマットのローカリゼーションが有効になっている場合は尊重されます。 'de'
言語の場合:
45000
は'45.000'
になります。450000
は'450.000'
になります。
intword
大きな整数(または整数の文字列表現)をわかりやすいテキスト表現に変換します。 1.0
を単数形のフレーズとして翻訳し、他のすべての数値を複数形として翻訳します。これは、一部の言語では正しくない場合があります。 100万を超える数に最適です。
サンプル
1000000
は1.0 million
になります。1200000
は1.2 million
になります。1200000000
は1.2 billion
になります。
10 ^ 100(Googol)までの値がサポートされています。
フォーマットのローカリゼーションが有効になっている場合は尊重されます。 'de'
言語の場合:
1000000
は'1,0 Million'
になります。1200000
は'1,2 Millionen'
になります。1200000000
は'1,2 Milliarden'
になります。
バージョン3.0で変更:単数形として翻訳される1.0
を除き、すべての数値が複数形として翻訳されるようになりました。 これは、一部の言語では正しくない場合があります。
naturalday
当日または1日以内の日付の場合は、必要に応じて「今日」、「明日」、または「昨日」を返します。 それ以外の場合は、渡されたフォーマット文字列を使用して日付をフォーマットします。
引数: :tfilter: `date` タグで説明されている日付フォーマット文字列。
例(「今日」が2007年2月17日である場合):
16 Feb 2007
はyesterday
になります。17 Feb 2007
はtoday
になります。18 Feb 2007
はtomorrow
になります。- それ以外の日は、指定された引数、または引数が指定されていない場合は:setting: `DATE_FORMAT` 設定に従ってフォーマットされます。
naturaltime
日時値の場合、何秒、数分、または何時間前かを表す文字列を返します。値が1日以上経過している場合は、:tfilter: `timesince` 形式にフォールバックします。 日時の値が将来の場合、戻り値は自動的に適切なフレーズを使用します。
例(「now」が2007年2月17日16:30:00の場合):
17 Feb 2007 16:30:00
はnow
になります。17 Feb 2007 16:29:31
は29 seconds ago
になります。17 Feb 2007 16:29:00
はa minute ago
になります。17 Feb 2007 16:25:35
は4 minutes ago
になります。17 Feb 2007 15:30:29
は59 minutes ago
になります。17 Feb 2007 15:30:01
は59 minutes ago
になります。17 Feb 2007 15:30:00
はan hour ago
になります。17 Feb 2007 13:31:29
は2 hours ago
になります。16 Feb 2007 13:31:29
は1 day, 2 hours ago
になります。16 Feb 2007 13:30:01
は1 day, 2 hours ago
になります。16 Feb 2007 13:30:00
は1 day, 3 hours ago
になります。17 Feb 2007 16:30:30
は30 seconds from now
になります。17 Feb 2007 16:30:29
は29 seconds from now
になります。17 Feb 2007 16:31:00
はa minute from now
になります。17 Feb 2007 16:34:35
は4 minutes from now
になります。17 Feb 2007 17:30:29
はan hour from now
になります。17 Feb 2007 18:31:29
は2 hours from now
になります。18 Feb 2007 16:31:29
は1 day from now
になります。26 Feb 2007 18:31:29
は1 week, 2 days from now
になります。
ordinal
整数を文字列として序数に変換します。
サンプル
1
は1st
になります。2
は2nd
になります。3
は3rd
になります。
整数または整数の文字列表現のいずれかを渡すことができます。