Django/Django Trouble Shooting
AttributeError at /main/'Form' object has no attribute 'save'
veryhi
2021. 10. 7. 16:26
Django에서 자주 만나는 에러인 AttributeError
아래의 경우는 form 작성 때 발생한 문제이다.
예를 들어, form의 클래스를 상속 받을 때 잘못되었을 경우가 있다.
from django import forms
from .models import Content
class ContentForm(forms.Form):
def __init(self, *args, **kwargs):
super(ContentForm, self).__init__(*args, **kwargs)
self.fields['content'].widget.attrs.update({
'class': 'form-control',
'autofocus': True
})
class Meta:
model = Content
fields = ['content']
아래와 같이 고쳐주면 된다.
from django import forms
from .models import Content
class ContentForm(forms.ModelForm): # 바뀐 부분
def __init(self, *args, **kwargs):
super(ContentForm, self).__init__(*args, **kwargs)
self.fields['content'].widget.attrs.update({
'class': 'form-control',
'autofocus': True
})
class Meta:
model = Content
fields = ['content']
AttributeError가 발생할 때 클래스 상속을 잘못 받았는지도 한 번 점검해보도록 하자.