Django – 使用 Humanizer 使 Django 網站更人性化


在這篇文章中,我們將瞭解什麼是 **humanizer** 以及如何在 Django 中使用它。Humanizer 是 Django 中的一個過濾器,用於為專案新增人性化的觸感。它是 Django 最好的過濾器之一。

Humanizer 用於將數字從數字形式轉換為文字,或在數字之間新增逗號,或將數字轉換為百萬或十億。讓我們舉個例子並瞭解如何使用它。

示例

建立一個 Django 專案和一個應用。

配置專案 URL -

from django.contrib import admin
from django.urls import path,include

urlpatterns = [
   path('',include("humanizeproj.urls")),
   path('admin/', admin.site.urls),
]

在這裡,我們為我們的應用設定了 **URL**。

在應用的 **urls.py** 中,新增以下內容 -

from django.urls import path,include
from . import views
urlpatterns = [
   path('', views.home, name="home")
]

在應用的 URL 中,我們渲染了我們的檢視。

建立一個 **templates** 資料夾並在 **settings.py** 中配置它 -

TEMPLATES = [
   {
      'BACKEND': 'django.template.backends.django.DjangoTem plates',
      'DIRS': [os.path.join(BASE_DIR, 'humanizeproj/templates')],
      'APP_DIRS': True,
      'OPTIONS': {
         'context_processors': [
            'django.template.context_processors.debug',
            'django.template.context_processors.request',
            'django.contrib.auth.context_processors.auth',
            'django.contrib.messages.context_processors.messages',
            ],
      },
   },
]

在這裡,我們定義了我們的模板資料夾,以便更好地訪問模板。

此外,不要忘記在其中新增 **home.html**。現在不要在裡面寫任何東西。

在 settings.py 中,新增您的應用和過濾器 contrib -

INSTALLED_APPS = [
   'django.contrib.admin',
   'django.contrib.auth',
   'django.contrib.contenttypes',
   'django.contrib.sessions',
   'django.contrib.messages',
   'django.contrib.staticfiles',
   # This is needed to add
   "humanizeproj", # this is my app name
   "django.contrib.humanize"
]

在這裡,我們添加了我們的應用和模組 contrib。

在 **views.py** 中,新增以下行 -

from django.shortcuts import render

# Create your views here.
def home(request):
   return render(request,"home.html")

在這裡,我們渲染了我們的前端,即 **home.html**。

在 **home.html** 中,新增 -

<!DOCTYPE html>
<html>
   <head>
      <title>Tut</title>
   </head>
   <body>
      {% load humanize %}
      <h1>Numbers(apnumber function) :</h1>
      {{"1" | apnumber}}<br>
      {{"2" | apnumber}}<br>
      {{"10" | apnumber}}<br>
      <h1>integer comma:</h1>
      {{"1000" | intcomma}}<br>
      {{"200000" | intcomma}}<br>
      {{"10000000" | intcomma}}<br>
      <h1>integer word:</h1>
      {{"1000000000" | intword}}<br>
      {{"20000000000" | intword}}<br>
      {{"10000000" | intword}}<br>
   </body>
</html>

**apnumber** 用於將數字轉換為文字,**intcoma** 用於在數字之間新增逗號,**intword** 用於將整數轉換為百萬或十億。

輸出

更新於: 2021-08-26

431 次瀏覽

開啟您的 職業生涯

透過完成課程獲得認證

開始學習
廣告

© . All rights reserved.