要件:
数字format,例:
1234567→1,234,567
方案:
使用 django.contrib.humanize
步骤:
1,INSTALLED_APP添加humanize
代码语言:python代码运行次数:0复制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
参考:
django.contrib.humanize
number-grouping