Python 如何控制django forms BooleanField的初始值和标签

Python 如何控制django forms BooleanField的初始值和标签,python,django,Python,Django,我在Django表单中有一个表单as(BooleanField),我需要动态地将其设置为初始值(True或false),还需要向其添加一个标签。这是我的密码: 视图.py def类别_编辑(请求,主键): 当前类别=获取对象或404(类别,主键=主键) edit_category_form=EditCategoryForm(request.POST,request.FILES,name=current_category.name, is_pos=当前_类别。is_pos) 如果request.m

我在Django表单中有一个表单as(BooleanField),我需要动态地将其设置为初始值(True或false),还需要向其添加一个标签。这是我的密码:

视图.py

def类别_编辑(请求,主键):
当前类别=获取对象或404(类别,主键=主键)
edit_category_form=EditCategoryForm(request.POST,request.FILES,name=current_category.name,
is_pos=当前_类别。is_pos)
如果request.method==“POST”:
如果编辑类别表单有效():
通过
其他:
edit_category_form=EditCategoryForm(request.POST,request.FILES,name=current_category.name,
is_pos=当前_类别。is_pos)
上下文={
“当前类别”:当前类别,
“编辑类别表格”:编辑类别表格,
}
返回呈现(请求“product/category_edit.html”,上下文)
forms.py

class EditCategoryForm(forms.Form):
定义初始化(self,*args,**kwargs):
self.the_name=kwargs.pop('name'))
self.is\u pos=kwargs.pop('is\u pos'))
super()
self.fields['name'].widget.attrs={
“类”:“窗体控件”,
“值”:self.u名称
}
self.fields['is_pos'].initial=self.is_pos
self.fields['is_pos'].label=\'('销售点视图')
name=forms.CharField(widget=forms.TextInput(attrs={
“类”:“窗体控件”,
}))
image=forms.ImageField(widget=forms.FileInput(attrs={
“类”:“窗体控件”,
}))
is_pos=forms.BooleanField(widget=forms.CheckboxInput())
下面是它的样子,布尔字段没有标签也没有初始值:

注意:
屏幕截图是从一个视图中截取的,该视图假定init值为TRUE

您的表单工作正常。问题在你看来

else:
    edit_category_form = EditCategoryForm(request.POST, request.FILES, name=current_category.name, is_pos=current_category.is_pos)
    ...
这是视图的
GET
部分,但您正在向表单发送
POST
数据。换行

edit_category_form = EditCategoryForm(name=current_category.name, is_pos=current_category.is_pos)
然后它应该呈现ok