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

[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 - groupby() 필터 - 속성별로 객체 시퀀스를 그룹화. (= groupby필터 = 그룹바이…
filters Jinja - indent() 필터 - 문자열 들여쓰기. (= indent필터 = 인덴트필터)
filters Jinja - int() 필터 - 정수로 변환. (= int필터 = 인트필터) ※ 문자열숫자나 부동소수를 정…
filters Jinja - items() 필터 - 매핑의 (키, 값) 항목에 대한 반복자를 반환. (= items필터 =…
filters Jinja - join() 필터 - 시퀀스의 문자열을 연결한 문자열을 반환. (= join필터 = 조인필터)
filters Jinja - last() 필터 - 시퀀스의 마지막 아이템 반환. (= last필터 = 라스트필터) ※ 마지…
filters Jinja - length() / count() 필터 - 컨테이너 안 아이템 개수 반환. (= length필…
filters Jinja - list() 필터 - 리스트로 변환. (= list필터 = 리스트필터) ※ 리스트 자료형(=데…
filters Jinja - lower() 필터 - 소문자로 변환. (= lower필터 = 로우어필터) ※ 문자열 전체를 …
filters Jinja - map() 필터 - 각 아이템에 필터 적용하거나 속성 조회 (= map필터 = 맵필터)
filters Jinja - max() 필터 - 최대값 반환 (= max필터 = 맥스필터) ※ 최댓값
filters Jinja - min() 필터 - 최소값 반환 (= min필터 = 민필터) ※ 최솟값
filters Jinja - pprint() 필터 - 변수를 가독성 좋게 예쁘게 출력 (= pprint필터 = 피프린트필터…
filters Jinja - random() 필터 - 랜덤값 반환 (= random필터 = 랜덤필터) ※ 임의의 선택값 반…
filters Jinja - reject() 필터 - 지정 테스트 통과 못 한 요소만 필터링 해 구성된 반복자 반환 (= …
filters Jinja - rejectattr() 필터 - 지정 속성에 대한 테스트 통과 못 한 아이템만 필터링 (= r…
filters Jinja - replace() 필터 ★ - 문자열 대체 (= replace필터 = 리플레이스필터)
filters Jinja - reverse() 필터 ★ - 역순(= 순서 뒤집기) (= reverse필터 = 리버스필터)
filters Jinja - round() 필터 - 부동소수 반올림 (= round필터 = 라운드필터) ※ 일반반올림/천장…
filters Jinja - safe() 필터 ★★★ - 회피처리 안 함 (= 이스케이프 적용 X = safe필터 = 세이…
5/9
목록
찾아주셔서 감사합니다. Since 2012