
hello world라는 함수를 만들고 이 함수에서 요청을 받아서 reponse를 되돌려주는 구조를 이해하고 실제로 구축을 했음
form에서 input text가 들어오고 hello world가 받아서 DB에 저장
DB에서 읽어서 html으로 output을 내보냈음

form에서 hello world로 요청을 보내는데 아무나 보낼 수 있음
가상 서버를 올려서 실제 서버에 이런 식으로 올린다고 하면 아무나 글을 쓸 수 있음
글을 쓰는 것에 대한 제한 사항이 없으므로 인증 시스템을 구축할 것

따라서 계정이라는 객체가 필요

원래는 Account App을 만들기 위해 hello world라는 앱을 만들었던건데 지금까지는 튜토리얼에 대한 것들을 Account App으로 다시 수정하고 Accoutn app에 대한 함수들을 만들어줄 것

1) 사이트 계정 가입 - 로그인 기능 추가
2) 계정을 만든 사람 본인의 정보들을 볼 수 있도록 하기
3) 비밀번호 변경 등 정보 변경이 가능하도록 하기
4) 계정 탈퇴
account app을 만들기 전에 django 복습

장고는 CRUD 에 관한 생산성이 매우 뛰어나다.
CRUD에 대한 view를 따로 제공 해줌
CRUD의 4가지 작업들을 쉽게 할 수 있는 클래스를 제공해주는데 그 이름들이 다음과 같음
Createview
Readview
Updateview
Deleteview

이러한 CBV(Class Based View)를 장고에서 제공해줌

CBV와 반대되는 FBV(Function Based Veiw)는 함수 기반의 뷰
지금까지 만들었던 hello World 라는 함수가 바로 이에 해당

POST를 받으면 그 안에서 hello world input이라는 데이터를 가져옴
그 다음 그것을 HelloWorld라고 하는 새로운 객체를 만듦
그 안에 데이터를 넣어주고 저장하고 다시 리턴해주는 형식
CBV를 모르고 소스코드를 작성하면 매우 길어짐

CreateView가 장고에서 기본적으로 제공해주는 클래스
그래서 이것을 상속 받아서 새로운 view를 만들 것
또한 그 view에 들어가는 parameter 몇 개만 지정해주면 나머지는 장고가 알아서 해줌
어떤 모델을 쓸 것이고 만들 것인지 지정
만드는데 필요한 form은 무엇인지
만들었을 때 성공했다면 어느 경로로 다시 되돌아갈 것인지
어떤 template을 사용해서 이 내용을 구현할 것인지

※ CBV 장점
생산성 향상
시간 복잡도는 감소


CRUD는 거의 대부분 이 4개의 사이클 안에 들어감
기존에 작성했던 hello world를 CBV를 통해서 제대로 만들어볼 것
제일 처음 만들 것은 다음 4가지
