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

[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

방문 감사합니다. (즐겨찾기 등록: Ctrl + D)

분류 제목
sandbox Jinja - 샌드박스 - 보안 고려 사항 (Sandbox - Security Considerations)
sandbox Jinja - 샌드박스 - API (Sandbox - API)
sandbox Jinja - 샌드박스 - 연산자 가로채기 (Sandbox - Operator Intercepting)
python_types Jinja - 고유 파이썬 타입 - 예제들 (Native Python Types - Examples)
python_types Jinja - 고유 파이썬 타입 - API (Native Python Types - API)
template Jinja - 템플릿 - 개요 / 템플릿파일확장자 (Template - Synopsis / Template …
template Jinja - 템플릿 - 변수 (Template - Variables)
template Jinja - 템플릿 - 필터 (Template - Filters)
template Jinja - 템플릿 - 테스트 (Template - Tests)
template Jinja - 템플릿 - 주석 (Template - Comments)
template Jinja - 템플릿 - 공백 제어 ★ (Template - Whitespace Control)
template Jinja - 템플릿 - 회피처리 (Template - Escaping) ※ 진자 템플릿 코드를 문자 그대로…
template Jinja - 템플릿 - 라인 구문 (Template - Line Statements) ※ 약식 코드
template Jinja - 템플릿 - 템플릿 상속 ★★★ (Template - Template Inheritance)
template Jinja - 템플릿 - HTML 회피 (Template - HTML Escaping) ※ e필터 = 이필터
template Jinja - 템플릿 - 제어 구조 목록 ★★★ (Template - List of Control Struc…
template Jinja - 템플릿 - 컨텍스트 동작 가져오기 (Template - Import Context Behavi…
template Jinja - 템플릿 - 표현식 ★ (Template - Expressions) ※ (자료형/연산자/기호/키…
template Jinja - 템플릿 - 내장필터 목록 (Template - List of Builtin Filters)
template Jinja - 템플릿 - 내장테스트 목록 (Template - List of Builtin Tests)
2/9
목록
찾아주셔서 감사합니다. Since 2012