【问题标题】:AttributeError: 'NoneType' object has no attribute 'visible_fields'AttributeError:“NoneType”对象没有属性“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',)

【问题讨论】:

    标签: django


    【解决方案1】:

    您收到错误是因为super() 调用返回None。在__init__ 方法中,您可以使用self 访问表单的属性。

    def __init__(self, *args, **kwargs):
        super(SignupForm, self).__init__(*args, **kwargs)
        for visible in self.visible_fields():
            ...
    

    【讨论】:

      猜你喜欢
      • 2019-01-01
      • 2021-12-26
      • 2019-07-23
      • 2020-09-07
      • 2017-05-03
      • 2023-03-16
      • 2018-07-14
      • 2013-06-16
      • 2015-06-15
      相关资源
      最近更新 更多