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.2becomes4,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. 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は'1,2 Million'になります。1200000000は'1,2 Milliarden'になります。
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:00becomesa 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になります。
渡す値は整数でも、整数を文字列で表したものでもかまいません。