django.contrib.humanize
¶
humanize は、データに「人間くささ(human touch)」を与えるための Django テンプレートフィルタセットです。
これらのフィルタを有効にするには、 INSTALLED_APPS
設定に 'django.contrib.humanize'
を加えます。インストール後、テンプレート上で {% load humanize %}
を呼び出せば、以下のフィルタを利用できるようになります:
apnumber
¶
1-9 の数字に対して、数をアルファベットで表します。それ以外の数はそのまま数字で返します。これは AP スタイルブックの書式に従っています。
例:
1
はone
になります。2
はtwo
になります。10
は10
になります。
渡す値は整数でも、整数を文字列で表したものでもかまいません。
intcomma
¶
Converts an integer or float (or a string representation of either) to a string containing commas every three digits.
例:
4500
は4,500
になります。4500.2
becomes4,500.2
.45000
は45,000
になります。450000
は450,000
になります。4500000
は4,500,000
になります。
可能であれば 表示形式のローカル化 が優先されます。例えば 'de'
(ドイツ語)では次のようになります。
45000
は'45.000'
になります。450000
は'450.000'
になります。
intword
¶
Converts a large integer (or a string representation of an integer) to a
friendly text representation. Translates 1.0
as a singular phrase and all
other numeric values as plural, this may be incorrect for some languages. Works
best for numbers over 1 million.
例:
1000000
は1.0 million
になります。1200000
は1.2 million
になります。1200000000
は1.2 billion
になります。
値は 10^100 (Googol) までサポートされます。
可能であれば 表示形式のローカル化 が優先されます。例えば 'de'
(ドイツ語)では次のようになります。
1000000
は'1,0 Million'
になります。1200000
becomes'1,2 Millionen'
.1200000000
は'1,2 Milliarden'
になります。
All numeric values are now translated as plural, except 1.0
which is
translated as a singular phrase. This may be incorrect for some languages.
naturalday
¶
日付が今日、明日、昨日のいずれかに該当する場合、それぞれ「今日(“today”)」、 「明日(“tomorrow”)」、「昨日(“yesterday”)」を返します。それ以外の日付の 場合は、引数に渡したフォーマット文字列を使って日付をフォーマットします。
引数: date
タグと同じ記法による日付フォーマット文字列
表示例 ( 今日の日付を ``2007年 2月 17日``とします ) :
2007年 2月 16日
はyesterday
になります。2007年 2月 17日
はtoday
になります。2007年 2月 18日
はtomorrow
になります。- 今日、昨日、明日以外の日付は与えられた引数に従ってフォーマットされます。引数がない場合は
DATE_FORMAT
設定に従います。
naturaltime
¶
datetime 値に対して、何時間(分、秒)前であったかを表わす文字列を返します。1日以上前である場合は timesince
フォーマットにフォールバックします。 datetime 値が未来である場合も、自動的に適切なフレーズが返り値に使用されます。
表示例 ( 現在の日時を 17 Feb 2007 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
becomesa 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
になります。
渡す値は整数でも、整数を文字列で表したものでもかまいません。