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

[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


분류 제목
tip Jinja - 팁과 요령 - 교대 행 (Tips and Tricks - Alternating Rows)
tip Jinja - 팁과 요령 - 활성 메뉴 항목 강조 표시 (Tips and Tricks - Highlighti…
tip Jinja - 팁과 요령 - 상위 루프에 액세스 (Tips and Tricks - Accessing the …
faq Jinja - FAQ - 왜 진자라고 불리는가?
faq Jinja - FAQ - 진자는 얼마나 빠른가요?
faq Jinja - FAQ - 템플릿에 로직을 넣는 것은 나쁜 생각이 아닌가?
faq Jinja - FAQ - HTML 이스케이프가 기본값이 아닌 이유는 무엇입니까?
filters Jinja - abs() 필터 - 절대값으로 변환. (= abs필터 = 앱스필터) ※ 숫자를 절대값으로 변경
filters Jinja - attr() 필터 - 객체의 속성 얻기. (= attr필터 = 어트르필터) ※ 속성만 조회
filters Jinja - batch() 필터 - 아이템 일괄처리. (= batch필터 = 배치필터) ※ for 반복문 …
filters Jinja - capitalize() 필터 - 첫글자만 대문자로 변환. (= capitalize필터 = 캐피…
filters Jinja - center() 필터 - 문자열 가운데 정렬/배치. (= center필터 = 센터필터)
filters Jinja - default() 필터 / d() 필터 - 변수가 정의 안 된 경우 기본값 출력. (= def…
filters Jinja - dictsort() 필터 - 딕셔너리 키 또는 값으로 정렬. (=dictsort필터 = 딕트소…
filters Jinja - escape() 필터 / e() 필터 ★ - HTML 태그를 HTML 실체값으로 변환. (= …
filters Jinja - filesizeformat() 필터 - 파일 크기를 사람이 읽을 수 있는 형식으로 변환. (=…
filters Jinja - first() 필터 - 시퀀스의 첫번째 아이템 반환. (= first필터 = 퍼스터필터) ※ …
filters Jinja - float() 필터 - 값을 부동소수로 변환. (= float필터 = 플로우트필터) ※ ※ 문…
filters Jinja - forceescape() 필터 ★ - 모든 특수문자를 HTML 회피처리. (= forceesc…
filters Jinja - format() 필터 - 문자열을 서식 문자열에 따라 변환. (= format필터 = 포맷필터…
4/9
목록
찾아주셔서 감사합니다. Since 2012