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

[intro] Jinja - 소개 - 설치

목차
  1. Jinja 소개
  2. Jinja 설치

 

Jinja 소개

 

1.

Jinja는 빠르고 표현력이 풍부하며 확장 가능한 템플릿 엔진임. 템플릿의 특수 자리 표시자를 사용하면 Python 구문과 유사한 코드를 작성 가능함. 그런 다음 템플릿에 데이터가 전달되어 최종 문서를 렌더링 함.

 

2. Jinja는 다음을 포함함.

  • 템플릿 상속(inheritance)포함(inclusion).
  • 템플릿 내에서 매크로(macro)를 정의하고 가져오기(import).
  • HTML 템플릿은 자동 이스케이프 (escape) 기능을 사용하여 XSS가 신뢰할 수 없는 사용자 입력을 방지할 수 있음.
  • 샌드박스 환경에서는 신뢰할 수 없는 템플릿을 안전하게 렌더링 할 수 있음.
  • 추가 구문 없이 동기화 및 비동기 기능을 자동으로 처리하는 템플릿 생성을 위한 비동기 지원.
  • Babel을 통한 I18N 지원.
  • 템플릿은 적시에 최적화된 Python 코드로 컴파일되고 캐시되거나 미리 컴파일될 수 있음.
  • 예외(Exception)는 디버깅을 더 쉽게 하기 위해 템플릿에서 올바른 라인을 가리킴.
  • 확장 가능한 필터(filters), 테스트(tests), 함수(functions), 구문(syntax).

 

3.

Jinja의 철학은 가능하면 애플리케이션 로직이 파이썬에 속하지만 기능을 너무 제한해 템플릿 디자이너의 작업을 어렵게 해서는 안 된다는 것임.

 

 

Jinja 설치

[준비물]

 

최신 버전의 Python을 사용하는 것이 좋음. Jinja는 Python 3.7 이상을 지원함. 또한 프로젝트 종속성을 다른 프로젝트 및 시스템과 분리하기 위해 가상 환경을 사용하는 것이 좋음.

 


[설치] - pip를 사용하여 최신 Jinja 버전을 설치.

$ pip install Jinja2

 

PS. 그누보드6 설치 시, Jinja 자동 설치됨.


[종속성]

 

1. 종속성 (Dependencies) -  Jinja를 설치할 때 자동으로 설치되는 것들.

  • MarkupSafe - 주입 공격을 피하기 위해 템플릿을 렌더링할 때 신뢰할 수 없는 입력을 방지함.

2. 선택적 종속성 (Optional Dependencies) -  자동 설치 안 되는 것들. 
  •  Babel - 템플릿에서 번역 지원을 제공함.

 

공식 매뉴얼: https://jinja.palletsprojects.com/en/3.1.x/intro/#installation


분류 제목
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