AttributeError:“NoneType”对象没有属性“visible_fields”
Posted
技术标签:
【中文标题】AttributeError:“NoneType”对象没有属性“visible_fields”【英文标题】:AttributeError: 'NoneType' object has no attribute 'visible_fields' 【发布时间】:2018-05-13 13:47:25 【问题描述】:我正在尝试在我的表单上向<input>
添加一个类。按照this question 的第一个答案的说明,我在表单的__init__
方法中添加了一些代码。但是我得到了标题中显示的错误。
forms.py
class SignupForm(UserCreationForm):
email = forms.EmailField(max_length=200, help_text='Required')
first_name = forms.CharField(max_length=30)
last_name = forms.CharField(max_length=30)
def __init__(self, *args, **kwargs):
form = super(SignupForm, self).__init__(*args, **kwargs)
for visible in form.visible_fields():
visible.field.widget.attrs['class'] = 'form-control'
class Meta:
model = User
fields = ('username', 'email', 'password1', 'password2', 'first_name', 'last_name',)
【问题讨论】:
【参考方案1】:您收到错误是因为super()
调用返回None
。在__init__
方法中,您可以使用self
访问表单的属性。
def __init__(self, *args, **kwargs):
super(SignupForm, self).__init__(*args, **kwargs)
for visible in self.visible_fields():
...
【讨论】:
以上是关于AttributeError:“NoneType”对象没有属性“visible_fields”的主要内容,如果未能解决你的问题,请参考以下文章
AttributeError:'NoneType'对象没有属性'upper'[关闭]
%Matplotlib - AttributeError: 'NoneType' 对象没有属性 'lower'
BeautifulSoup:AttributeError:“NoneType”对象没有属性“文本”
Elastic Beanstalk 部署错误:AttributeError :: 'NoneType' 对象没有属性 'split'