如何将范围滑块的值设置为Django中从数据库接收的值

2024-09-28 13:23:40 发布

您现在位置:Python中文网/ 问答频道 /正文

<input type="range" name="TaxRateRange" class="form-range slider" min="0" value='{{ form.taxrate }}' max="100" step="0.5" id="myRange">

这是范围滑块,试图将其值设置为从数据库接收的值

这是我的看法

def insert_(request,id=0):
    taxauth=TaxAuthority()
    if request.method=="GET":
        if id==0:  #id is zero for the insert operation
           form=TaxAuthorityForm()
        else:
           obj_taxauthority=TaxAuthority.objects.get(pk=id)
           form=TaxAuthorityForm(instance=obj_taxauthority)
        return render(request,'TaxAuthority/insert.html',{'form':form})
    else:
        if id==0:
           form=TaxAuthorityForm(request.POST)
           taxauth=form.save(commit=False)
           print("######### POST Fresh Saved ##########")
        else:
            obj_taxauthority=TaxAuthority.objects.get(pk=id) 
            form=TaxAuthorityForm(request.POST,instance=obj_taxauthority)
            obj_taxauthority=form.save(commit=False)

        if form.is_valid():
            taxauth.taxrate=request.POST["TaxRateRange"]
            taxauth.save()
        return redirect('/taxauthority/')

Tags: formidobjifrequestsaverangepost
2条回答

试试这个obj_taxauthority=TaxAuthority.objects.filter(pk=id).first()

与直接在模板上使用HTML或引导范围滑块不同,我们可以使用Django表单小部件,如下所示

class TaxAuthorityForm(forms.ModelForm):

     class Meta:
             model=TaxAuthority
             #fields=['taxauthority']
             fields='__all__'
            # exclude=('taxrate',)
             labels= {
                   'taxauthority':'Tax Authority',
                   'taxrate':'Tax Rate',
                  }
             widgets = {
                     'taxrate': forms.TextInput(attrs={'type':'range','class':'form-range slider' 'step': '0.5', 'min': '1', 'max': '100'})
                  }

这将自动创建范围滑块

相关问题 更多 >

    热门问题