하루에는

[Django]템플릿 변수, 필터, 태그 본문

Python, Django

[Django]템플릿 변수, 필터, 태그

에는 2019. 11. 27. 03:03

템플릿 변수

  • {{ 변수명 }} 으로 표현
  • .을 이용해서 속성 접근 가능 (ex. post.title)
  • 변수가 존재하지 않을 경우 공백 문자 출력
  • 변수를 제어하기 위한 필터 존재

템플릿 필터

  • 템플릿 변수 표시에 변화를 제공
  • |(파이프)를 사용하여 적용
  • 템플릿 상에서 변수를 보여줄 때 사용하는 것이므로 데이터 자체에 영향을 주지 않음.
  • default : 변수가 비어있거나 false일 때 지정된 값을 출력 {{ value|default:"nothing" }}
  • capfirst : 맨 첫 번째 글자를 대문자로 치환 {{ value|capfirst }}
  • linenumbers : 텍스트에 줄 번호를 부여 {{ value|linenumbers }}
  • random : 리스트에 들어있는 요소 중 랜덤으로 하나를 추출 {{ value|random }}
  • 파이프를 사용하여 중첩으로 사용 가능

템플릿 태그

  • {% 태그 %} 으로 표현
  • 루프, 로직 등을 수행
  • 대부분의 템플릿 태그는 끝 태그를 필요로 함. 끝 태그는 {% end태그명 %} 형태 ex. {% if %}를 사용했다면 {% endif %}로 닫아주고, {% for %}를 사용했다면 {% endfor %}로 닫아 준다.
  • for : 배열의 각 원소에 대하여 루프를 돌며 출력. 끝 태그 필요
  • if, else : 조건이 true이면 if 블록의 컨텐츠를 표시, false이면 else 블록의 컨텐츠를 표시. 끝 태그 필요
  • csrf_token : 사이트간 요청위조를 방지하기 위한 태그. 끝 태그 없음
  • comment : 주석 처리. 끝 태그 필요

주석

  • {# 주석 #} 으로 표현
  • 템플릿 태그를 주석 처리
Comments