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

[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


분류 제목
filters Jinja - select() 필터 - 지정 테스트 통과한 요소만 필터링 (= select필터 = 실렉트필터…
filters Jinja - selectattr() 필터 - 지정 속성에 대한 테스트 통과한 아이템만 필터링 (= sele…
filters Jinja - slice() 필터 - 집합을 지정 개수로 쪼개기 (= slice필터 = 슬라이스필터) ※ 지…
filters Jinja - sort() 필터 ★ - 정렬 (= sort필터 = 소트필터) ※ 오름차순/내림차순
filters Jinja - string() 필터 - 문자열로 변환 (= string필터 = 스트링필터)
filters Jinja - striptags() 필터 ★ - 태그 제거 (= striptags필터 = 스트립태그스필터)
filters Jinja - sum() 필터 - (합계/합산/총합/총계) 구하기 (= sum필터 = 섬필터)
filters Jinja - title() 필터 - 각 단어의 첫글자를 대문자로 나머지는 소문자로 변환. (= title필…
filters Jinja - tojson() 필터 - JSON 문자열로 직렬화 (= tojson필터 = 투제이슨필터)
filters Jinja - truncate() 필터 - 문자열을 지정 길이로 자르기 (= truncate필터 = 트런케이…
filters Jinja - unique() 필터 - 고유 아이템으로 구성된 반복자 반환 (= unique필터 = 유니크필…
filters Jinja - upper() 필터 - 대문자로 변환 (= upper필터 = 어퍼필터) ※ 문자열 전체를 대문…
filters Jinja - urlencode() 필터 - URL 주소나 또는 쿼리에 적합한 문자열로 변환 (= urlen…
filters Jinja - urlize() 필터 ★ - 텍스트 URL을 클릭 가능한 링크로 변환 적용 (= urlize필…
filters Jinja - wordcount() 필터 - 문자열의 단어 개수 세기 (= wordcount필터 = 워드카운…
filters Jinja - wordwrap() 필터 - 문자열을 지정 길이 단위로 쪼개기 (= wordwrap필터 = 워…
filters Jinja - xmlattr() 필터 - dict의 아이템 기반으로 SGML/XML 속성 문자열 생성 (= …
tests Jinja - boolean() 테스트 - boolean 타입인지 체크 (= boolean테스트 = 불리언테…
tests Jinja - callable() 테스트 - 호출 가능한지 체크 (= callable테스트 = 콜러블테스트)
tests Jinja - defined() 테스트 ★ - 변수 정의되었는지 여부 체크 (= defined테스트 = 디파…
6/9
목록
찾아주셔서 감사합니다. Since 2012