accountapp 과 Profile 계정을 1대1로 매칭시켜줄 것이다.

Profile 에는 3가지가 들어간다.


Delete View 와 Detail View 를 사용하지 않을 예정

python manage.py startapp profileapp
코드를 이용해서 새로운 앱을 시작해서 만들어준다.

euichan , settings.py 에서 profileapp을 등록한다. (사용하겠다 라고 명시)


profile 파일 안에 urls라는 파이썬 파일을 생성하고 url을 저장한다.

models.py 에서 모델을 생성한다.
1. 1대1 매칭 진행
user = models.OneToOneField(User, on_delete=models.CASCADE, related_name='profile')
on_delete 라는 것은 연결되어 있는 user 객체가 없어질 때 그와 연결된 profile 객체가 어떤 행동을 보일것인지에 대한 정책 부분을 담당한다.
CASCADE 라는 것은 profile 까지도 없어지게 하는 것이다.
-> user가 탈퇴하면 profile도 같이 사라짐.
related_name 은 따로 profile 객체를 찾지 않더라도 request 받은 user로 연결
image = models.ImageField(upload_to='profile/', null=True) nickname = models.CharField(max_length=20, unique=True, null=True) message = models.CharField(max_length=100, null=True)1.image는 프로필 사진에 해당된다. upload_to 는 이미지를 받아서 서버 내부에 저장하는데, 그 장소 경로를 담당한다.
2.nickname은 닉네임에 해당되고 20글자 미만으로 설정해준다.
3.message는 100글자 미만으로 설정한다.
null=True 이것은 지정해도 되고 지정하지 않아도 된다는 의미이다.
unique=True 는 오직 하나만 가능하다는 설정이다.

AccountApp 에서 UserCreationForm 은 장고에서 기본적으로 제공하는 Form이기 때문에 새로운 폼을 만들지 않고 사용을 했었는데
profile 앱에서는 그렇지 않다. -> 만들어주어야 한다.

이런식으로 만들어주어야한다.
하지만 안에 내용이 너무 많아서 하나하나 쓰기 힘들기 때문에
Model Form 이라는 것이 존재한다.

ModelForm을 상속받은 후에 어떤 모델을 사용할것인지, 어떤 필드를 입력할 수 있게 만들것인지만 설정하면 된다.
