Django 百分比表单域
Django percentage form field
我想在 Django 中使用百分比表单字段。基本上在我的模型中我有一个浮动字段。使用模型表单时的默认设置是验证它是一个数字的文本输入。如果用户要输入 40%,则必须输入 0.4。我想要的是他们可以输入的可选百分比符号。因此,他们可以输入 0.4 或 40%。
Django 中是否内置了类似的东西?如果不是,为什么?我希望这是经常使用的东西。或者我告诉他们这是一个百分比字段并强制他们只填写 40?
您可以很容易地创建自己的验证器
def valid_pct(value):
if value.endswith("%"):
return float(value[:-1])/100
else:
try:
return float(value)
except ValueError:
raise ValidationError(
_('%(value)s is not a valid pct'),
params={'value': value},
)
...
models.py
class MyModel(models.Model):
pct = models.StringField(validators=[valid_pct])
我想在 Django 中使用百分比表单字段。基本上在我的模型中我有一个浮动字段。使用模型表单时的默认设置是验证它是一个数字的文本输入。如果用户要输入 40%,则必须输入 0.4。我想要的是他们可以输入的可选百分比符号。因此,他们可以输入 0.4 或 40%。
Django 中是否内置了类似的东西?如果不是,为什么?我希望这是经常使用的东西。或者我告诉他们这是一个百分比字段并强制他们只填写 40?
您可以很容易地创建自己的验证器
def valid_pct(value):
if value.endswith("%"):
return float(value[:-1])/100
else:
try:
return float(value)
except ValueError:
raise ValidationError(
_('%(value)s is not a valid pct'),
params={'value': value},
)
... models.py
class MyModel(models.Model):
pct = models.StringField(validators=[valid_pct])