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' になります。
  • 10 は 10 になります。

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

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 設定に従ってフォーマットされます。