목차
Jinja 템플릿 개요
Jinja 템플릿 예제
Jinja 템플릿 파일확장자
Jinja 템플릿 개요
1.
Jinja 템플릿은 단순한 텍스트 파일 임.
Jinja는 모든 텍스트 기반 형식(HTML, XML, CSV, LaTeX 등)을 생성 가능함.
Jinja 템플릿에는 특정 확장자가 필요 없음 . (예: .html, .xml 또는 기타 확장자 모두 가능.)
2.
템플릿에는 템플릿이 렌더링될 때 값으로 대체되는 변수 및/또는 표현식 이 포함되어 있는데, 이는 템플릿의 논리를 제어하는 태그 임.
템플릿 구문은 Django와 Python에서 많은 영감을 받았음.
Jinja 템플릿 예제
<!DOCTYPE html>
<html lang="ko">
<head>
<title>내 웹피이지</title>
</head>
<body>
<ul id="navigation">
{% for item in navigation %}
<li><a href="{{ item.href }}">{{ item.caption }}</a></li>
{% endfor %}
</ul>
<h1>내 웹페이지</h1>
{{ a_variable }}
{# a comment #}
</body>
</html>
PS. 정리
1.
애플리케이션 개발자는 구문 구성을 {% ... %} 에서 <% ... %> 또는 이와 유사한 것으로 변경 가능.
2. 구분 기호에는 몇 가지 종류가 있는데, 기본 Jinja 구분 기호는 다음과 같음.
{% ... %} - 구문에 사용. (예: 조건문/반복문 등 표현)
{{ ... }} - 출력에 사용. (예: 표현식/변수 등 출력)
{# ... #} - 주석에 사용. (예: 코드실행방지/코드설명 등)
3.
라인 문과 주석 (Line Statements and Comments) 도 가능하지만, 기본 접두사 문자는 없음. (이를 사용하려면, 환경 생성 시 line_statement_prefix 및 line_comment_prefix 설정 필요.)
Jinja 템플릿 파일확장자
※ 어떤 파일이 템플릿 파일인지 확인하는 방법 소개.
1.
위에서 설명한 대로 파일 확장자에 관계없이 모든 파일을 템플릿으로 로드 가능 .
user.html.jinja와 같은 .jinja 확장자를 추가하면 일부 IDE 또는 편집기 플러그인이 더 쉬워질 수 있지만 필수는 아님.
나중에 소개될 자동 이스케이프 는 파일 확장자에 따라 적용될 수 있으므로 이 경우 추가 접미사를 고려해야 함.
2.
템플릿을 식별하는 또 다른 좋은 경험적 방법은 확장자에 관계없이 templates 폴더에 있다 는 것임. (그누보드6 경우, /templates 폴더 안에 있음.)
이는 프로젝트의 일반적인 레이아웃임.
주소 복사
랜덤 이동