Django에서 계정을 관리하는 app을 만들때,
계정의 정보를 업데이트 하는 view를 만들 때 사용하는 form이다.
class AccountUpdateForm(UserCreationForm):
def __init__(self, *args, **kwargs):
super().__init__(*args, **kwargs)
self.fields['username'].disabled =True
일단 super()는 파이썬이 지원하는 기능이다.
super()는 부모 클래스의 생성자를 호출할 때 사용한다.
AccountUpdateForm에서 UserCreationForm을 상속 받은 후 ,
생성자를 재정의 하는데, 이때 super()를 이용해서 AccountUpdateForm이
UserCreationForm과 같은 역할을 하게 한다.
그리고 생성자에 self.fields['username'].disabled =True 를 추가하여
아이디를 바꿀 수 없는 custom Form을 만들어 준다.
'Django' 카테고리의 다른 글
Django Pycharm Project 생성 (0) | 2021.12.20 |
---|---|
장고 에러 : django.db.utils.IntegrityError: NOT NULL constraint failed: (0) | 2021.08.20 |