如何在Django中人性化標籤?
人性化是指使某事物更人性化或更易於人類理解。人性化標籤意味著使標籤更容易被人理解。例如,1800000000 變為 18 億,或 10000 變為 10,000。
可以實施一些簡單的更改,以將標籤轉換為更易於閱讀的格式。Django 提供了模板過濾器,可以為資料新增人性化元素,使其更具可讀性。
要啟用這些過濾器的使用,應將 **django.contrib.humanize** 新增到專案 settings.py 檔案中的 INSTALLED_APPS 中。
INSTALLED_APPS = [ 'reglogin', 'mlmodel', 'django.contrib.humanize', 'django.contrib.admin', 'django.contrib.auth', 'django.contrib.contenttypes', 'django.contrib.sessions', 'django.contrib.messages', 'django.contrib.staticfiles' ]
然後,應將 {%load humanize %} 新增到模板部分的標題部分。
現在,您已在專案中啟用了 Django 提供的人性化過濾器。
有很多模板過濾器。下面列出了一些。
**apnumber** - 此過濾器將數字 1 到 9 拼寫出來,對於所有其他數字,它返回相同的數字。例如:2 返回 two,12 返回 12
**intcomma** - 此過濾器將數字(整數或浮點數)轉換為用逗號分隔的數字的字串表示形式。例如:37900 變為 37,900
**intword** - 將大數轉換為可讀的文字表示形式。例如:8000000 變為 800 萬,1200000000 變為 12 億
**naturalday** - 靠近當前日期的日期將返回為今天、明天或昨天。
**naturaltime** - 此過濾器返回自特定時間以來經過多少分鐘、秒或小時的字串表示形式。例如:2001年4月6日12:57:34 變為 now,2001年4月6日12:57:04 變為 30 秒前,等等。
**ordinal** - 此過濾器將整數轉換為其序數表示形式,並將其儲存為字串資料型別。例如:4 變為 第4
為了測試這些過濾器的執行情況,我們將在一個 Django 專案中使用這些過濾器。建立一個 Django 專案和一個應用。在 Django 應用的 views.py 檔案中,應編寫以下程式碼。(此處省略 views.py 程式碼示例)
from django.shortcuts import render import datetime def homepage(request): current_time = datetime.datetime.now() context = { 'comma': 17937, 'word': 1800000000, 'current_time': current_time, 'day1': current_time - datetime.timedelta(days=1), } return render(request, 'test.html', context)
然後,test.html 應包含以下資料以列印輸出。(此處省略 test.html 程式碼示例)
{% load humanize %} <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>How to Use Humanize Tags in Django</title> </head> <body> <h2><u>Template Filters to Humanize Data</u></h2> <h3>1) intcomma</h3> <p>{{ comma }} translates to {{ comma | intcomma }}</p> <hr> <h3>2) intword</h3> <p>{{ word }} translates to {{ word | intword }}</p> <hr> <h3>3) naturalday</h3> <b>Current time is: {{ current_time }}</b> <p>{{ day1 }} translates to {{ day | naturalday }}</p> <hr> </body> </html>
獲得的輸出將採用以下形式 - (此處省略輸出示例)
Template Filters to Humanize Data 1)intcommma 17937 translates to 17.939 2)intword 1800000000 translates to 1.8 billion 3)naturalday Current time is April 19th 2022, 3:43pm April 18th 2022, 3:43 pm translates to yesterday.
透過這種方式,我們可以將過濾器新增到 Django 專案中的模板中以人性化資料。這對於幫助使用者理解貨幣兌換或時間變化特別有用。
資料結構
網路
關係型資料庫管理系統(RDBMS)
作業系統
Java
iOS
HTML
CSS
Android
Python
C語言程式設計
C++
C#
MongoDB
MySQL
Javascript
PHP