千位分隔符未应用于 Django admin

2024-03-19

我在 Django Admin 中注册了我的模型,但整数字段(它们是只读的)显示时没有千位分隔符;这发生在管理员列表视图和管理员模型表单中。

我正在使用 Django 1.11.9 和 Python 3.6。

在我的“settings.py”中,我有以下内容:

USE_I18N = False
USE_L10N = False
DECIMAL_SEPARATOR = ','
THOUSAND_SEPARATOR = '.'
USE_THOUSAND_SEPARATOR = True
NUMBER_GROUPING = 3

django-admin 有没有办法将千位分隔符应用于我的只读字段?

- 编辑 -

This 类似的问题 https://stackoverflow.com/questions/32715884/thousand-separator-for-list-editable-in-django(自 2015 年 9 月起)没有一个自动适用于所有领域的简单答案。


我没有让它在 django-admin 中正常工作。由于我不使用面向用户的网站的管理员,因此我现在将使用逗号而不是点来格式化数字。

然而,在其他模板中,我诉诸于使用自定义模板标签,基于Django 文档 https://docs.djangoproject.com/en/1.11/howto/custom-template-tags/.

from django import template
from django.utils.encoding import force_text

register = template.Library()

@register.filter
def intdot(val_orig):
    """
    Similar to 'django.contrib.humanize.intcomma', but with dots.
    """
    val_text = force_text(val_orig)
    try:
        val_new = int(val_text)
    except ValueError:
        return ''

    val_new = '{:,d}'.format(val_new)
    val_new = val_new.replace(',', '.')
    return val_new
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

千位分隔符未应用于 Django admin 的相关文章

随机推荐