【问题标题】:integer input within a range in djangodjango中范围内的整数输入
【发布时间】:2012-11-28 06:52:45
【问题描述】:

我的 django 模型需要一个应该有输入的字段,整数 1 到 10。我将其建模如下

class Review(model):
    ...
    rating = models.IntegerField(default=5,help_text='value 1 to 10')

我正在提供用于创建和编辑评论的表单,如下所示

class ReviewForm(ModelForm):    
    class Meta:
        model=Review
    ...

class ReviewEditForm(ModelForm):    
    class Meta:
        model=Review
    ....

我应该怎么做才能确保用户输入一个整数 1 到 10 ..我应该用干净的表单方法检查这个吗?还是有更好的办法?

理想情况下,我想将该字段显示为 html5 中可用的滑块(我认为是RangeInput),它在chrome 中显示为slider,在firefox16.0.2ubuntu 中显示为textfield。但我没有不知道如何在没有 javascript 的情况下做到这一点

【问题讨论】:

    标签: django html input


    【解决方案1】:

    您可以使用 django 验证器来完成这项工作

    from django.core.validators import *
    
    rating = models.IntegerField(default=5, help_text='value 1 to 10', validators=[MaxValueValidator(10),
                MinValueValidator(1)])
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-04-08
      • 2018-12-16
      • 1970-01-01
      • 1970-01-01
      • 2014-07-24
      • 1970-01-01
      相关资源
      最近更新 更多