django.contrib.humanize

一組 Django 模板篩選器,可用於為資料添加「人性化」的處理。

要啟用這些篩選器,請將 'django.contrib.humanize' 添加到您的 INSTALLED_APPS 設定中。完成此操作後,請在模板中使用 {% load humanize %},您就可以使用下列篩選器。

apnumber

對於數字 1-9,傳回拼寫出的數字。否則,傳回數字。這遵循美聯社的風格。

範例

  • 1 變成 one

  • 2 變成 two

  • 10 變成 10

您可以傳入整數或整數的字串表示形式。

intcomma

將整數或浮點數(或兩者的字串表示形式)轉換為每三位數包含逗號的字串。

範例

  • 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

  • -1200000000 變成 -1.2 billion

支援高達 10^100(古戈爾)的值。

如果啟用 格式本地化,將會被遵守,例如使用 'de' 語言

  • 1000000 變成 '1,0 Million'

  • 1200000 變成 '1,2 Millionen'

  • 1200000000 變成 '1,2 Milliarden'

  • -1200000000 變成 '-1,2 Milliarden'

naturalday

對於當天或前後一天的日期,適當傳回「今天」、「明天」或「昨天」。否則,使用傳入的格式字串格式化日期。

參數:日期格式化字串,如 date 標籤中所述。

範例(當「今天」是 2007 年 2 月 17 日時)

  • 16 Feb 2007 變成 昨天

  • 17 Feb 2007 變成 今天

  • 18 Feb 2007 變成 明天

  • 任何其他日期都會根據給定的參數或 DATE_FORMAT 設定(如果沒有給定參數)進行格式化。

naturaltime

對於 datetime 值,傳回表示它在多少秒、分鐘或小時之前的字串 – 如果該值超過一天,則回退到 timesince 格式。如果 datetime 值在未來,傳回值將自動使用適當的短語。

範例(當「現在」是 2007 年 2 月 17 日 16:30:00 時)

  • 17 Feb 2007 16:30:00 變成 現在

  • 17 Feb 2007 16:29:31 變成 29 秒前

  • 17 Feb 2007 16:29:00 變成 一分鐘前

  • 17 Feb 2007 16:25:35 變成 4 分鐘前

  • 17 Feb 2007 15:30:29 變成 59 分鐘前

  • 17 Feb 2007 15:30:01 變成 59 分鐘前

  • 17 Feb 2007 15:30:00 變成 一小時前

  • 17 Feb 2007 13:31:29 變成 2 小時前

  • 16 Feb 2007 13:31:29 變成 1 天,2 小時前

  • 16 Feb 2007 13:30:01 變成 1 天,2 小時前

  • 16 Feb 2007 13:30:00 變成 1 天,3 小時前

  • 17 Feb 2007 16:30:30 變成 30 秒後

  • 17 Feb 2007 16:30:29 變成 29 秒後

  • 17 Feb 2007 16:31:00 變成 一分鐘後

  • 17 Feb 2007 16:34:35 變成 4 分鐘後

  • 17 Feb 2007 17:30:29 變成 一小時後

  • 17 Feb 2007 18:31:29 變成 兩小時後

  • 18 Feb 2007 16:31:29 變成 一天後

  • 26 Feb 2007 18:31:29 變成 一週又兩天後

ordinal

將整數轉換為字串形式的序數。

範例

  • 1 變成 1st

  • 2 變成 2nd

  • 3 變成 3rd

您可以傳入整數或整數字串表示。負整數將不變回傳。

返回頂部