(자신의 아이디가 떡하니 나와있음, 해킹에 취약해짐 => 닉네임을 만들것임)
=> 닉네임, 이미지, 메시지 3개를 묶은 profileapp을 새로 만들것이다.
(account와 profile은 1:1 매칭이 되어야한다.)
(구성 요소로는 위와 같이 이미지, 닉네임, 메세지 3가지가 들어간다.)
(Delete View는 accountapp 과 연결되어 있고, 연결된 account가 회원 탈퇴 시에만 사라지도록 할것이기 때문에 따로 구현 x
Detail View는 main에서 프로필을 꾸며주는 용도로 사용할 것이기 때문에 구지 프로필만 따로 볼 수 있는 Detail 페이지를 만들지는 않을 것이다.)
1) 터미널에 python mange.py startapp profileapp을 입력하여 새로운 앱을 만들어 준다.
(새로운 profileapp 디렉토리가 생성된 모습)
2) setting.py 에 새로운 앱이름 등록
3) url.py에 경로 지정
4) profile하위에 urls.py 생성
(app_name은 'profileapp'으로 설정하였으며 아직은 view가 없으므로 urlpatterns는 비어있는 모습을 볼 수 있다.)
5) models.py 설정
(위에서 설명했던 3가지 요소를 models.py에 각각 구현한 모습, 각 설명은 주석 참고)
(accountapp에서 우리는 장고에서 기본 제공하는 form을 사용해서 구현 했었다.)
(반면 profileapp은 기본지원해주는 form이 존재하지 않는다.)
(우리가 모델을 위와같이 설정해 놓았다고 하면)
(form에서 비슷한 필드들이 있는데, 위와 같이 form을 만들어서 가져다 쓸수는 있지만 ,
내용이 여러줄(수십줄)이면 다 타이핑하기가 힘들다.
=> Model From 이용 : 기존에 있었던 모델을 그대로 form으로 변환 시켜주는 기능
(기존 모델이 있으면, 일부의 커스터마이징만으로
위와 같이 ModelForm 을 상속받고 나서, 어떤 모델을 사용하고 어떤 필드를 입력 할 수 있게 할 것인지를 설정하면
그 model이 그대로 form으로 변환이 된다.)
1) profileapp 하위 디렉토리에 forms.py 생성
2) form.py에 해당 객체에 대한 From을 설정해준 모습
(아까의 model에 user 라는 필드는 서버에서 다로 처리해 줄 것이기 때문에 여기서는 구현을 하지 않았다.)