我在 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(使用前将#替换为@)