이전 글과 이어지는 글입니다.
우리가 django를 가지고 결국에 만들고자 하는 것은 웹 애플리케이션이다.
즉, HTML 파일을 띄워주는 것이 우리의 최종적 목표인데, 이를 위해 가장 기본적인 Hello World를 띄워주는 페이지를 만들어보고자 한다.
우선, 우리가 이전에 만들었던 myapp 폴더 안에 'templates' 라는 이름의 폴더를 하나 생성해주자. (철자 틀리면 안됨!)
myapp 폴더를 오른쪽 마우스로 클릭 후 '새 폴더'를 눌러 폴더를 생성할 수 있다.
이 templates 폴더를 잘 기억해두자.
앞으로 이 폴더에 우리가 만들 모든 HTML 파일들을 넣어줄 것이다.
따라서, Hello World를 출력하는 HTML파일을 만들어 이 templates 폴더에 넣어주기로 하자.
이제 이렇게 생성된 HTML 파일을 페이지에 띄워주기만 하면 되는데, 이 과정에서 우리가 사용할 파일은
myapp 폴더 안에 있는 views.py
myproject 폴더 안에 있는 urls.py 이다.
views.py 에서는 HTML 파일이 어떻게 화면에 보여질지 정의한다. 이 과정을 한 마디로 표현하기는 어렵고 차라리 코드를 보는게 편하다.
myapp의 views.py를 열고 다음의 내용을 적어주자.
다음의 내용을 풀어적자면 다음과 같다.
'hello라는 함수는 클라이언트로부터 페이지를 띄워달라는 요청(request)를 받아 'hello.html'을 응답으로 띄워준다'
저 함수를 다양하게 작성하여 단순히 html을 띄워주는 것뿐만 아니라 여러가지 작업들을 처리해줄 수 있다.
조금 더 심화적인 동작은 다른 앱을 만들면서 추가로 알아보도록 하자.
이번엔 myproject 폴더에 있는 urls.py를 클릭해 띄워 해당 내용을 적어보자.
해당 코드를 풀어쓰자면 다음과 같다.
' '라는 경로로 유저가 들어오면 (해당 경로(주소)에 대한 페이지를 띄워달라는 요청을 보내면) myapp 폴더의 views 파일의 hello 함수를 실행해줘'
WEB은 클라이언트가 특정 페이지를 띄워달라는 요청인 Request와, 서버가 그 요청에 대한 대답을 하는 Response로 작동한다.
특정 페이지를 띄워달라는 요청은 url의 입력을 통해 이루어지고, 그에 대한 응답으로 해당 페이지를 띄워주는 것이다.
여기서, myapp 폴더의 views 파일은 urls.py가 저장된 myproject 폴더 외부에 존재하므로, 해당 파일에 정의된 함수를 사용하기 위해선 반드시 import를 해줘야한다.
위의 과정을 모두 마친 후 터미널에 python manage.py runserver를 입력해 서버를 실행해주고 주소창을 띄워주면
HTML에서 작성한 내용이 정상적으로 출력되게 된다.
만약 urls.py에서 경로를 다른 것으로 바꿔준다면
기존의 주소에 연결된 것이 없기 때문에 페이지를 찾을 수 없다는 메시지가 출력되고,
좀 전에 바꾸었던 주소로 접속하게 되면 우리가 원한 HTML파일이 화면에 잘 띄워지게 된다.
'프레임워크 > Django' 카테고리의 다른 글
[Django] Word Count 만들기 - 2 (0) | 2021.02.16 |
---|---|
[Django] Word Count 만들기 - 1 (0) | 2021.02.15 |
[Django] MTV 패턴 (0) | 2021.02.15 |
[Django] django 프로젝트 및 앱 폴더 생성 (0) | 2021.02.15 |
[Django] Django란? - Django 설치 및 가상환경 설정 (0) | 2021.02.15 |