我知道我可以使用 floatformat,但只有当我将数字作为参数传递时才有效。如果我尝试使用 {{ myform.myfield }} 不起作用。
有没有使用 {{ myform.myfield }} 格式化十进制字段的插件?我知道,我可以编写所有输入标签,但需要一些时间,我正在寻找更容易使用的东西..
问候,
问题是,在我的国家,这个数字是 150,00;有时我使用 floatformat 会遇到一个错误。但是在网上查看,我找到了解决方案:将所有十进制字段中的用户本地化到表单中:
def __new__(cls, *args, **kwargs):
new_class = super(MyForm, cls).__new__(cls, *args, **kwargs)
for field in new_class.base_fields.values():
if isinstance(field, DecimalField):
field.localize = True
field.widget.is_localized = True
return new_class
之后在模板中使用 l10n 。如果要使用不带格式的数字,请使用 myfield.value|unlocalize,如下所示:
{% load humanize %}
{% load l10n %}
(....)
{{ myfield.pk|unlocalize }}
这对我有用。