본문 바로가기

웹/Django

[Django] 동적 웹페이지 만들기 / 2021.08.30

* 참고 자료 : 코드잇 Django 강의

 

동적 웹페이지란 템플릿을 수정하지 않아도 자동으로 변하는 웹페이지를 말한다.

ex ) 날짜, 방문자 수 등

 

출처 : 코드잇

 

이 페이지에서 왼쪽 상단에 보이는 날짜를 자동으로 변경되도록 코드를 수정해보자.

 

1. views.py

로직을 담당하는 views.py에서 오늘 날짜를 가져오는 로직을 만들어보자.

이때, 파이썬에서 날짜와 시간을 다루는 모듈은 datetime을 사용한다. (datetime.today( ))

 

today = datetime.today() # today라는 변수에 오늘 날짜 가져옴

 

print(today)를 해서 콘솔 창에서 확인해보면

 

 

오늘 날짜와 시간이 잘 나오는것을 확인할 수 있다.

 

하지만, 날짜만 가져오고 싶다면?

today = datetime.today().date()

 

이렇게 date()를 추가해주면 된다.

 

이제 이 today변수를 index.html에 날짜로 넣어주려면 어떻게 해야 할까?

 

2. views.py의 render함수

today를 넘겨주기 위해서는 사전형에 담아서 넘겨주어야 한다.

 

사전형(dict)
{ key : value }

 

context라는 변수를 만들고 사전형을 만들어준 후에 render함수에 세 번째 파라미터로 넘겨준다.

 

views.py의 render함수

 

3. index.html

템플릿 변수를 사용해서 view에서 넘겨받은 값으로 변환하자.

위에서 date를 key로 해서 today를 넘겨받았으니 

{{ date }}

 

이렇게 적어주면 된다.

 

index.html의 date-block

 

4. 웹페이지

웹페이지를 새로고침해 보면,

 

 출처 : 코드잇

 

이렇게 오늘 날짜가 잘 나오는 것을 확인할 수 있다.