• 회원가입
  • 로그인
  • 구글아이디로 로그인

[template] Jinja - 템플릿 - 개요 / 템플릿파일확장자 (Template - Synopsis / Template File Extension)

목차
  1. Jinja 템플릿 개요
  2. Jinja 템플릿 예제
  3. 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_prefixline_comment_prefix 설정 필요.)

 


 Jinja 템플릿 파일확장자

※ 어떤 파일이 템플릿 파일인지 확인하는 방법 소개.

 

1.

  • 위에서 설명한 대로 파일 확장자에 관계없이 모든 파일을 템플릿으로 로드 가능
  • user.html.jinja와 같은 .jinja 확장자를 추가하면 일부 IDE 또는 편집기 플러그인이 더 쉬워질 수 있지만 필수는 아님. 
  • 나중에 소개될 자동 이스케이프는 파일 확장자에 따라 적용될 수 있으므로 이 경우 추가 접미사를 고려해야 함.

 

2.

  • 템플릿을 식별하는 또 다른 좋은 경험적 방법은 확장자에 관계없이 templates 폴더에 있다는 것임. (그누보드6 경우, /templates 폴더 안에 있음.)
  • 이는 프로젝트의 일반적인 레이아웃임.

 



분류 제목
tests Jinja - divisibleby() 테스트 - 해당값을 지정숫자로 나머지 없이 정확히 나눌 수 있는지 여…
tests Jinja - eq() / equalto() 테스트 - 동일한지(=같은지) 여부 체크 (= eq테스트 = 이…
tests Jinja - escaped() 테스트 - 회피처리된 값인지 체크 (= escaped테스트 = 이스케이프드테…
tests Jinja - even() 테스트 - 짝수인지 여부 체크 (= even테스트 = 이븐테스트)
tests Jinja - false() 테스트 - 거짓인지 체크 (= false테스트 = 폴스테스트)
tests Jinja - filter() 테스트 - 필터 존재 여부 체크 (= filter테스트 = 필터테스트)
tests Jinja - float() 테스트 - 부동소수(실수) 여부 체크 (= float테스트 = 플로우트테스트)
tests Jinja - ge() 테스트 - 더 크거나 같은지 체크 (= ge테스트 = 지이테스트/제테스트/게테스트)
tests Jinja - gt() / greaterthan() 테스트 - 더 큰지 체크 (= gt테스트 = 지티테스트 …
tests Jinja - in() 테스트 - 지정값이 시퀀스에 있는지 체크 (= in테스트 = 인테스트)
tests Jinja - integer() 테스트 - 정수인지 여부 체크 (= integer테스트 = 인티저테스트/인트…
tests Jinja - iterable() 테스트 - 반복 가능한 객체인지 체크 (= iterable테스트 = 이터러…
tests Jinja - le() 테스트 - 더 작거나 같은지 체크 (= le테스트 = 엘이데스트/레테스트)
tests Jinja - lower() 테스트 - 소문자인지 여부 체크 (= lower테스트 = 로우어테스트)
tests Jinja - lt() / lessthan() 테스트 - 보다 더 작은지 체크 (= lt테스트 = 엘티테스트…
tests Jinja - mapping() 테스트 - 매핑인지 여부 체크 (= mapping테스트 = 매핑테스트)
tests Jinja - ne() 테스트 - 다른지 여부 체크 (= ne테스트 = 네테스트/낫이퀄테스트)
tests Jinja - none() 테스트 - none인지 여부 체크 (= none테스트 = 넌테스트)
tests Jinja - number() 테스트 - 숫자인지 체크 (= number테스트 = 넘버테스트)
tests Jinja - odd() 테스트 - 홀수인지 여부 체크 (= odd테스트 = 아드테스트)
7/9
목록
찾아주셔서 감사합니다. Since 2012