前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >django.contrib.humanize NUMBER_GROUPING

django.contrib.humanize NUMBER_GROUPING

原创
作者头像
刀枪不入de王二花
发布2022-08-17 21:02:55
3010
发布2022-08-17 21:02:55
举报
文章被收录于专栏:BETTERBETTER

要件:

数字format,例:

1234567→1,234,567

方案:

使用 django.contrib.humanize

步骤:

1,INSTALLED_APP添加humanize

代码语言:python
复制
INSTALLED_APPS = [
    'django.contrib.humanize',
]

NUMBER_GROUPING = 3        # 若使用language为ja 日语,需要追加,后续说明

2,templete 追加

代码语言:javascript
复制
{% load humanize %}

3,使用,filter【|】

代码语言:javascript
复制
{{ value|intcomma }}

用例:

代码语言:html
复制
pj>templetes>xxxlist.html

{% extends 'base.html' %}

{% load humanize %}

{% block content %}

  <p>{{ value|naturaltime }}</p>   <!-- 17 Feb 2022 16:30:00 变成 now-->
  <p>{{ value|intcomma }}</p>      <!-- 4500 变成 4,500 需要定义 NUMBER_GROUPING = 3 -->
  <p>{{ value|naturalday }}</p>    <!-- 16 Feb 2022 变成 yesterday-->
  <p>{{ value|apnumber }}</p>      <!-- 1 → one , 需要注释掉 LANGUAGE_CODE = 'ja' -->
  <p>{{ value|ordinal }}</p>       <!-- 1 变成 1st -->

{% endblock %}

问题:

若语言为 ja 【NUMBER_GROUPING】被注释掉了,需要在settings.py中追加。

查看方法:

可在代码中导入对应语言的formats,查看定义内容

代码语言:javascript
复制
import django.conf.locale.ja.formats
import django.conf.locale.en.formats
import django.conf.locale.zh_Hans.formats
formats.py
formats.py

参考:

django.contrib.humanize

number-grouping

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 要件:
  • 方案:
    • 步骤:
      • 用例:
      • 问题:
      领券
      问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档