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.