Django百分比形式字段

时间:2016-03-10 04:54:34

标签: python django django-forms

我想在Django中使用百分比表单字段。基本上在我的模型中我有一个浮点字段。使用模型表单时的默认值是一个文本输入,用于验证它是否为数字。如果用户想要输入40%,则必须输入0.4。我想要的是他们可以输入的可选百分比符号。因此,他们可以输入0.4或40%。

Django内置了类似的内容吗?如果没有,为什么?我希望这是经常使用的东西。或者我告诉他们这是一个百分比字段并迫使他们填写40?

1 个答案:

答案 0 :(得分:5)

您可以轻松创建自己的验证器

def valid_pct(val):
    if val.endswith("%"):
       return float(val[:-1])/100
    else:
       try:
          return float(val)
       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])