[Django] Week 1_3 Hello World 실습
Project 만들기
가상환경 키기
$ source myvenv/bin/activate
장고 프로젝트 만들기
$ django-admin startproject djangoproject
(귀찮아서 이름바꾸는 거 안했습니다. 양해좀..)
my project안에는 이제 다른 파일들의 꾸러미가 있는데 지금은 상관하지 않겠습니다.
서버를 돌려보자.
$ pwd # (present work directory) # 현재 디렉토리 파악 $ cd djangoproject # 작업환경 바꾸고 $ python manage.py runserver # 서버돌리기
- 127.0.0.1 => 내 컴퓨터를 의미
- :8000 => 포트 번호 8000
- 그걸 누르면 창이 뜬다!
서버를 끄자.
$ ctrl + c
APP 만들기
앱 만들기
$ python manage.py startapp myapp
- 역시나 my app 안에는 여러 파일과 폴더가 생성되어 있을 것인데 일단 무시!
- 그 안에 있는 파일들 끼리 정보를 주고 받을 예정!
templates 폴더 생성
templates 폴더 안에 html 파일 생성하기
home 안에
<h1>hello world!!!</h1>
를 넣어주자.
app의 존재를 project한테 알려주자. (setting.py)
setting.py -> INSTALLED_APPS
여기에 적혀있는 것을 내가 판단해보면, '' 안에 들어있는 객체 를 불라오라는 의미이다.
- <app이름>.apps.<첫문자 대문자로 app이름>Config
- 여기서 마지막에 콤마!!!! , 를 꼭 넣어 주어야 한다!!!
이걸 확인하려면 myapp 폴더 안에 apps.py 를 보면 이 객체가 선언되어 있음을 알 수 있다.
객체에 대한 내용은 추가로 다루자.
이제 project에 app이 있음을 알려줬고, app에 어떤걸 보여줄지도 만들었다.
다음은, 어떤 상황에 어떤걸 보여줄지 설정해야 한다.
그건
view.py
에 작성한다고 했다.def home(request): return render(request, 'home.html')
요청 이 들어오면, home.html를 리턴해줘 라는 뜻
함수에 대한 설명은 추가적으로 작성
서버에 접근 했을 때 어떤 url에 접근할 것인지 만들어야 한다.
url.py에 접근해서 urlpattern의 리스트에 추가해주면 된다.
그 전에 이 html를 어떻게 보여줄지에 대한 함수가 적힌 (왜 함수냐면 출력 값이 html을 줄거기 때문에)
녀석을 불러와야 한다!
그리고 나서 아까 urlpattern 의 리스트에 다음을 추가해준다.
path('', myapp.views.home, name = "home"),
'' # (라우트) 안에 있는 내용은 조건임, 해당 조건이 시작될 떄, myapp.views.home #myapp 폴더 안에 있는 views라는 폴더안에 있는 home이라는 함수를 실행해라. name = "home" # 이 경로자체를 home이라고 부르겠다.
이름을 왜 괜히 붙이지?
- 만약 이 이름이 없다면 view.py에서 함수이름을 바꿔줘야 한다.
- 그래서 path 전체를 바꿔줘야 하는데 여튼.. 그런 문제가 있다.
- 그래서 함수랑 url을 같은 이름을 쓰면 편함
서버 돌려보자
python manage.py runserver
hello world! 가 출력된다!