views.py & urls.py
- 우리는 지금까지 홈 화면을 구성하기 위해 html 문서를 만들었습니다.
- index.html 문서도 만들었으니 이제 실행하면 html 문서가 보일까요?
안타깝게도 보이지 않습니다.
이를 해결하기 위해 views.py와 urls.py 파일을 수정하는 과정을 거쳐야 합니다.
views.py
[blogapp]에서 [views.py] 파일을 엽니다.
- [views.py]는 다음과 같이 생겼습니다.
[views.py]에서는 보통 파이썬 문법을 활용하여 여러 함수들을 생성하게 되며, 이 함수들을 이용하여 자신이 원하는 형태로 데이터를 처리한 뒤, 어떠한 html로 데이터를 보내게 됩니다.
- 첫 줄에 보이는 render 함수 또한 데이터 값을 받아온 뒤 html로 데이터를 보내기 위한 함수입니다.
- 우리는 [index.html] 문서를 띄울 것이므로, 이와 관련된 함수를 만들 것입니다.
통상적으로 html 문서의 이름과 똑같이 함수의 이름을 지정합니다.
따라서 함수의 이름은 index가 될 것입니다. - 이와 같이 함수를 적도록 합니다.
def index(request): return render(request, 'index.html')
- request 인자는 어떠한 요청을 처리하기 위해 사용됩니다.
지금은 아무런 처리를 하지 않았지만, 결과 값을 render 함수를 통해 요청을 index.html 문서로 리턴해줍니다.
urls.py
- 지금까지 [views.py]에서 [index.html]로 이동할 수 있도록 index 함수를 만들었습니다.
- 이 index 함수를 [urls.py]에서 연결시켜주도록 합시다.
[firstProject] - [urls.py]를 클릭합니다.
- [urls.py]의 모습입니다.
- 19번 라인에 보이는 [urlpatterns] 안에 우리가 원하는 작업을 할 것입니다.
- 그 전에 16번 라인에 보이는 [+] 버튼을 눌러줍니다.
- 우리는 앞에서 작성한 index 함수를 사용할 것입니다.
- 하지만, 지금 [urls.py] 파일의 위치와 index 함수가 있는 위치가 다릅니다.
- 따라서 index 함수는 [blogapp] - [views] 안에 있으므로 다음과 같이 import 해줍니다.
import blogapp.views
- urlpatterns 안에 다음과 같이 입력해줍니다.
마지막에 콤마(,)는 반드시 입력해줍니다.
path('', blogapp.views.index, name='index'),
- 이제부터 path 함수를 이해해보도록 하겠습니다.
- 첫번째 인자 ''의 의미는 우리가 만든 블로그 홈페이지의 주소를 입력할 때 아무것도 입력하지 않았다는 의미입니다.
원래 써있던 'admin/'을 보면 우리가 만든 블로그 홈페이지의 주소가 예를 들어 "http://www.myblog.com"이라 하면 "http://www.myblog.com/admin"으로 접속한다는 의미입니다.
따라서 ''는 아무것도 입력하지 않았으므로 단지 "http://www.myblog.com"으로 접속하면 우리가 작성한 index.html 문서가 보입니다. - 두번째 인자 blogapp.views.index는 우리가 만든 index 함수를 적용시킨다는 의미입니다.
- 세번째 인자 name='index'는 위에 초록색으로 글씨 써있는 부분에 보면, 함수를 적용시키고 이름을 명명하게 되면 나중에 html 파일에서 이 값으로 url 값을 불러올 수가 있습니다.
실행
- 지금까지 [views.py]와 [urls.py] 파일을 수정하였습니다.
- 제대로 작동이 되는지 확인을 해보겠습니다.
오른쪽 상단의 벌레 모양을 눌러줍니다.
[http://127.0.0.1:8000/]을 눌러줍니다.
- 다음과 같이 인터넷에서 작동한다면 성공입니다.