相关疑难解决方法(0)

哪个 Django 表单字段可以为我提供 <input type="range" /> 的 HTML 输出?

我有一个带有此输入的 html 表单:

    <input id="duration_slider" type="range" min="1" max="168" value="48" />
Run Code Online (Sandbox Code Playgroud)

不过,我现在想将此滑块转换为 Django 表单字段,这样我就可以在 Django 表单中使用它。字段名称是,duration所以我将其更改idid=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'    
        ]
Run Code Online (Sandbox Code Playgroud)

编辑

意见

if options_form.is_valid():
    instance = options_form.save(commit=False)
    print(instance.duration) #prints the default value every time
Run Code Online (Sandbox Code Playgroud)

表单字段

duration = forms.IntegerField(widget=forms.NumberInput(attrs={'type':'range', 'step': '1', 'min': '1', 'max': '148'}), required=False)
Run Code Online (Sandbox Code Playgroud)

python django django-models

5
推荐指数
1
解决办法
5335
查看次数

标签 统计

django ×1

django-models ×1

python ×1