템플릿 수정없이 동적으로 변하는 웹

MoonLight·2021년 8월 17일
0

django

목록 보기
11/20
post-thumbnail

템플릿 수정없이 동적으로 변하는 웹

  • 장고의 MVT구조를 다시 살펴보면 위와 같은데 빨간색 박스친 부분 즉, view자체에서 데이터를 가공한 후에, 템플릿으로 보내서 화면을 자동으로 만드는 과정을 해볼 것이다.

위를 보면 드래그한 부분이 정적으로 고정되어 있다. 저 부분을 동적으로 바뀌게 하고 싶은데 그러한 로직을 담당하는 부분은 views.py이다. 그럼 오늘 날짜를 가져오는 로직을 한번 짜보자.

  • 위에서 datetime함수를 사용하기 위해서 먼저 datetime을 import시켜주었고, 오늘의 날짜를 가져와서 today변수에 넣어주었다.

  • view에서 template으로 데이터를 넘길 때 사용하는 것이 render함수의 3번째 인자이다. 반드시 이 3번째 인자는 dictionary로 저장해야 한다.

  • 따라서, date를 key로하고, 아까 저장해두었던 today변수를 key의 value값으로 지정한다.

  • 그 완전체인 context변수를 render함수의 3번째 파라미터로 넘겨주었다.

이제 view에서 넘겨주는, context에 담겨진 데이터를 사용하기 위해서는 템플릿 언어 중 템플릿 변수를 사용해야 한다.

  • view에서 넘겨준 context변수를 받기위해서, template에서는 key값인 date를 템플릿 변수형식으로 써주었다.

  • 이제 개발 서버를 실행해보면 다음과 같이 오늘의 날짜가 동적으로 생성되어 화면에 출력되었음을 볼 수 있다.


+ 인자를 전달하는 2가지 방법

  • 위에서 3번째 파라미터에 context=context라고 써주었는데 이에 대해 알아보자.

  • 함수를 호출할 때 인자를 전달하는 방법에는 크게 두가지가 있다.
    위치로 인자를 전달하는 위치 전달 인자(Positional Arguments)와 키워드로 인자를 전달하는 키워드 전달 인자(Keyword Arguments)이다.

profile
hello world :)

0개의 댓글