【发布时间】:2019-05-18 17:09:10
【问题描述】:
我收到错误“BooleanField”对象没有属性“attrs” 我正在创建一个表单来创建一个新用户并将详细信息保存在数据库中
搜索了一段时间,但没有运气
添加用户源代码
enter code here
class AddUser(forms.ModelForm):
password=forms.CharField(widget= forms.PasswordInput)
date_of_join=forms.DateField(widget=forms.SelectDateWidget)
superuser=forms.BooleanField(widget=forms.BooleanField)
class Meta:
model=User_list
fields=['first_name','last_name','email','password','date_of_join','superuser' ]
{% for field in form %}
<div class="form-group">
<div class="col-sm-offset-2 col-sm-10">
<span class="text-danger small">{{field.errors}} </span>
</div>
<label class="control-label col-sm-2">{{ field.label_tag }} </label>
<div class="col-sm-10">{{field}}</div>
</div>
{% endfor %}
field.label_tag 显示布尔字段错误
错误是这样的
id_ = widget.attrs.get('id') or self.auto_id
AttributeError: 'BooleanField' object has no attribute 'attrs'
观点:
class createuser(View):
form_class=AddUser
template_name='Account/userlist_form.html'
def get(self,request):
form=self.form_class(None)
return render(request,self.template_name,{'form':form})
def post(self,request):
form=self.form_class(request.POST)
if form.is_valid():
user=form.save(commit=False)
user.save()
return render(request,self.template_name,{'form':form})
还有我的表格:
class AddUser(forms.ModelForm):
password=forms.CharField(widget= forms.PasswordInput)
date_of_join=forms.DateField(widget=forms.SelectDateWidget)
superuser=forms.BooleanField(widget=forms.BooleanField)
class Meta:
model=User_list
fields=['first_name','last_name','email','password','date_of_join','superuser']
【问题讨论】:
-
看起来您可能在表单中使用了模型字段而不是表单字段。你能分享你的表单代码吗?
-
class createuser(View): form_class=AddUser template_name='Account/userlist_form.html' def get(self,request): form=self.form_class(None) return render(request,self.template_name ,{'form':form}) def post(self,request): form=self.form_class(request.POST) if form.is_valid(): user=form.save(commit=False) user.save() return渲染(请求,self.template_name,{'form':form})
-
请edit你的问题与
AddUser类的源代码。 -
能否请edit 提出问题并分享form(
AddUser类)的代码。 -
类 AddUser(forms.ModelForm): password=forms.CharField(widget= forms.PasswordInput) date_of_join=forms.DateField(widget=forms.SelectDateWidget) superuser=forms.BooleanField(widget=forms. BooleanField) class Meta: model=User_list fields=['first_name','last_name','email','password','date_of_join','superuser']
标签: html django django-models