繁体   English   中英

Django百分比表单字段

[英]Django percentage form field

我想在Django中使用百分比表单字段。 基本上,在我的模型中,我有一个float字段。 使用模型表单时的默认值是验证其为数字的文本输入。 如果用户要输入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])

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM