我有一个带有此输入的 html 表单:
<input id="duration_slider" type="range" min="1" max="168" value="48" />
不过,我现在想将此滑块转换为 Django 表单字段,这样我就可以在 Django 表单中使用它。字段名称是duration
所以我会改变id
to id=id_duration
.
对于该字段,我的 models.py 和 forms.py 会是什么样子?
目前只是:
class AdvertisePost(Post):
...
duration = models.IntegerField(default=48)
def __str__(self):
return self.title
class AdvertisePostForm(forms.ModelForm):
duration = ?
class Meta:
model = AdvertisePost
fields = [
...
#'duration'
]
EDIT
views
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
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)