1

我的 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我认为),显示为sliderinchrometextfieldin firefox16.0.2ubuntu。但我不知道如何在没有 javascript 的情况下做到这一点

4

1 回答 1

1

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

from django.core.validators import *

rating = models.IntegerField(default=5, help_text='value 1 to 10', validators=[MaxValueValidator(10),
            MinValueValidator(1)])
于 2012-11-28T07:04:17.057 回答