我知道我可以使用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 }}
这对我有用。