我知道我可以使用floatformat,但仅当我将数字作为参数传递时才有效..如果我尝试使用{{myform.myfield}}不起作用。
有哪个插件可以使用{{myform.myfield}}格式化十进制字段?我知道,我可以写所有输入标签,但需要一些时间,我正在寻找更易于使用的东西......
此致
答案 0 :(得分:0)
问题是,在我的国家,这个数字是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 }}
这对我有用。