Python 哪个Django表单字段可以为我提供<;的HTML输出;输入类型=";“范围”/>;?
我得到了一个包含以下输入的html表单:Python 哪个Django表单字段可以为我提供<;的HTML输出;输入类型=";“范围”/>;?,python,django,django-models,Python,Django,Django Models,我得到了一个包含以下输入的html表单: <input id="duration_slider" type="range" min="1" max="168" value="48" /> 编辑 视图 if options_form.is_valid(): instance = options_form.save(commit=False) print(instance.duration) #prints the default value every tim
<input id="duration_slider" type="range" min="1" max="168" value="48" />
编辑
视图
if options_form.is_valid():
instance = options_form.save(commit=False)
print(instance.duration) #prints the default value every time
表单字段
duration = forms.IntegerField(widget=forms.NumberInput(attrs={'type':'range', 'step': '1', 'min': '1', 'max': '148'}), required=False)
两年!我很晚了
class AdvertisePostForm(forms.ModelForm):
class Meta:
model = AdvertisePost
fields = ['duration', ...]
widgets = {
'duration': forms.TextInput(attrs={'type': 'range'})
}
希望这能奏效
编辑:
如果您想显示它,您需要一些javascript,并且需要在后端进行一些工作才能将其转换为Int尝试如下:
forms.IntegerField(widget=NumberInput(attrs={'type':'range','step':'2'))
Perfect,这似乎很有效。谢谢。但是对于最小值和最大值,我想你必须先检查一下,作为参考,你可以看看这里,嗯,它每次都输出完全相同的值(默认值)-这有关系吗?我在表单小部件中添加了min
和max
,但似乎什么都没做。有什么想法吗?我已经在编辑中添加了更新的代码。
class AdvertisePostForm(forms.ModelForm):
class Meta:
model = AdvertisePost
fields = ['duration', ...]
widgets = {
'duration': forms.TextInput(attrs={'type': 'range'})
}