유의사항
- 장고 처음 진입장벽이 높다..
- 큰 그림을 먼저 보고 접근할 생각이다.
- 모든 것을 이해하는 시도는 자제하자.
목표
- Django내에서 정보의 흐름을 이해하자.
Django는 어떻게 작동할까?
파일 및 폴더의 티키타카
- 어디서 티키타카?
- 어떻게 티키타카?
어디서 티키타카?
What is Project
- 프로그램을 실행시키기 위한 가장 큰 단위
Django Project 설정
django-admin starproject (프로젝트 이름)
실행 후 모습
- 벌써 머리가 아프다.
- 이녀석들만 먼저 생각하자.
manage.py
저기 보이는 히오스는 서버를 돌리는 녀석이다.
서버를 돌리는 방법?
python manage.py runserver
What is APP
프로젝트의 구성 단위
이 앱들이 모인 것이 프로젝트!
실행 명령어
python manage.py startapp
실행 후 모습
중간 정리
장고를 가지고 만들기 위해서는
- 가상환경
- 장고를 사용해 프로젝트 생성
- 프로젝트를 이루는 앱도 만들어 주어야 한다.
- 여기서 manage.py로 서버를 돌릴 수 있고
- 프로젝트에서 생성되는 몇몇개의 파일과 앱 폴더에서 생성되는 몇개의 파일과 티키타카를 진행한다.
어디서 티키타카?
- APP 폴더안의 파일을 살펴보면 된다.
- 여기서 추가적으로 만들어야 되는 폴더가 존재한다.
- 바로 templates 폴더!
- 프로젝트를 생성하고, APP을 생성했을 때 딸려서 태어나는 폴더랑 파일을 시각화하면 이거다!
- 아 너무 어렵고 하기 싫어지니까 핵심적인 녀석만 빼보자.
- 그런데 Project를 우리가 만들고, App을 만들었다고 해서 바로 Project가 이걸 인지할 수 가 없다!
- 그래서 이런식으로 알려줘야한다!
- 자 그런데, 우리는 Hello world를 출력하는 app을 만들고 싶은거야.
- 우리는 웹프로그래밍을 하고 있으니까 웹창이 딱! 하고 뜨면 되겠지.
- 그걸 App폴더에서 해줘야해.
- 그럼 그걸 보여줄 Html 파일을 만들어야 겠지.
- 그걸 담는 공간이 templates 폴더야.
- 폴더를 만들어서 보관하는 이유는 여러개가 생길수도 있으니까 그런거야.
- 쉽게 말하면 누군가한테 과일을 주는 상인이야. 이걸 상인 app이라 생각해보자.
- 그러면 나는 사과 오렌지 포도의 과일을 가지고 있어. 이게 templates 폴더에 들어가 있는거야.
- 그러면 고객이 왔을 때 과일을 주고 돈받는게 내 목적인데
- 고객이 사과달라하면 사과를 주고 오렌지달라하면 오렌지를 줘야겠지.
- 그렇게 어떻게 할거냐. 즉, 어떤 화면을 보여줄거냐? 하는 고민을 view.py로 관리하는 거야.
- 이건 함수겠지. 어떤 입력에 따라 어떤 걸 줘야되는 거니까!
- 자 그런데 우리같은 과일 상인은 한곳만 있는게 아니야.
- 우리 가게 오게하려면 광고를 하든 결국 내 가게 주소를 알려야겠지.
- 그럼 어떤 주소를 입력했을 때 우리가게가 보여지게 해야해.
- 그건 url.py라는 친구가 관리하는 거야.
마지막 정리
장고로 웹개발을 하고싶어!
- 프로젝트 폴더를 만들어준다.
- 프로젝트의 작은 구분인 app을 만든다.
- 프로젝트한테 app이 만들어졌다고 알려준다. (setting.py)
- 앱안에 어떤 html을 보여줄지 templates 폴더를 만들고 안에다가 넣는다.
- 언제, 어떻게 보여질지에 대한 함수를 만든다. (view.py)
- 마지막으로 해당 html 파일을 url로 연결해준다. (url.py)