1. 程式人生 > >Django 2.1.3 文件-模板-人性化

Django 2.1.3 文件-模板-人性化

人性化過濾器


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

將大整數(或整數的字串表示形式)轉換為友好的文字表示形式。適用於超過100萬的數字。

例子:

  • 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

對於當天或一天內的日期,請視情況返回“今天”,“明天”或“昨天”。否則,使用傳入的格式字串格式化日期。

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

示例('今天’是17 Feb 2007

):

  • 16 Feb 2007成為yesterday。
  • 17 Feb 2007成為today。
  • 18 Feb 2007成為tomorrow。
  • 如果沒有給出引數,則根據給定日期或DATE_FORMAT格式化日期 。

naturaltime

對於datetime值,返回表示它之前的秒數,分鐘數或小時數的字串 - timesince 如果值超過一天,則返回格式。如果日期時間值是將來的,則返回值將自動使用適當的短語。

示例('now’是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成為 a 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
    您可以傳入整數或整數的字串表示形式。