django.contrib.humanize

revision-up-to:11321 (1.1)

humanize は、データを「人にやさしく (human touched) 」表示するための Django テンプレートフィルタです。

これらのフィルタを有効にするには、 INSTALLED_APPS 設定に 'django.contrib.humanize' を加えます。インストール後、テンプレート上で {% load humanize %} を呼び出せば、以下のフィルタを利用できるようになり ます:

apnumber

1-9 の数字に対して、数をアルファベットで表します。それ以外の数はそのまま数 字で返します。これは Associated Press の書式に従っています。

例:

  • 1'one' になります
  • 2'two' になります。
  • 1010 になります。

渡す値は整数でも、整数を文字列で表したものでもかまいません。

intcomma

整数を三桁ごとにカンマで区切った形式の文字列に変換します。

例:

  • 4500'4,500' になります。
  • 45000'45,000' になります。
  • 450000'450,000' になります。
  • 4500000'4,500,000' になります。

渡す値は整数でも、整数を文字列で表したものでもかまいません。

intword

大きな整数を読みやすいテキスト表現に変換します。100 万を超えるような値を扱 う場合に便利です。

例:

  • 1000000'1.0 million' になります。
  • 1200000'1.2 million' になります。
  • 1200000000'1.2 billion' になります。

1000000000000000 (1 quadrillion) までサポートしています。

渡す値は整数でも、整数を文字列で表したものでもかまいません。

ordinal

整数を序数形式の文字列に変換します。

例:

  • 1'1st' になります。
  • 2'2nd' になります。
  • 3'3rd' になります。

渡す値は整数でも、整数を文字列で表したものでもかまいません。

naturalday

日付が今日、明日、昨日のいずれかに該当する場合、それぞれ「今日 (“today”)」、 「明日 (“tomorrow”) 」、「昨日 (“yesterday”)」を返します。それ以外の日付の 場合は、引数に渡したフォーマット文字列を使って日付をレンダします。

引数: now タグと同じ日付フォーマット形式です。

今日が 2007 年 2 月 17 日とすると、以下のように日付を表示します:

  • 16 Feb 2007昨日 に変わります。
  • 17 Feb 2007今日 に変わります。
  • 18 Feb 2007明日 に変わります。
  • 引数を与えない場合、今日、昨日、明日以外の日付は DATE_FORMAT 設定に従ってフォーマットされます。