jinja2란..

SaGo_MunGcci·2022년 7월 14일
0

웹기술 및 이론

목록 보기
2/5

작성 이유 : 웹개발 공부 도중 강의 내용이 jinja2를 사용해서 왜 하필 jinja2를 사용하는지 의문이 들었다.

요약 :

  • 웹페이지 종류에는 정적-static, 동적 웹페이지(SSR,CSR)-templates , jinja2 SSR에 포함되는 파이선의 flask 프레임워크의 서버사이드 템플릿 언어. 그래서 우리가 jinja2를 사용한 것임.

  • 서버 사이드 템플릿 언어 중 아파치 서버와 자주 사용하는 php가 템플릿언어였다. 생각하면 맞다. 서버에서 동적으로 처리하기 위해서 php로 넘겼으니까.

  • Flask는 파이썬 기반 웹 프레임워크중 하나이다. 자바가 아닌 파이썬으로도 웹 서버를 만들 수 있다는 의미이다.

  • 자바 기반 웹 프레임워크로는 대표적으로 Spring이 있듯이, 파이썬 기반 웹 프레임 워크로는 대표적으로 Flask, Django가 있는 것이다.

1. 정적, 동적 페이지

1)정적 웹페이지 :

  • 옛날 90~00년초에 단순히 정보를 전달하는 게시판 같은 웹페이지. 서버에서 html을 게시하는 의미가 크다.(이후 css, js순으로 등장하고 발전함.) 전세계 사용자들이 위치에 상관없이 이미지와 텍스트를 공유하는 것에 의의를 뒀다고 생각함.

2)동적 웹페이지 :

  • 사용자가 상품 추가시 그에 맞는 상품이 추가 되거나 추가된 상품의 가격으로 사용자가 결제할 총가격이 변했을때 마치 움직인다고 표현함.

2.CSR, SCR

정리함 : https://velog.io/@sago_mungcci/CSR-SSR%EC%9D%B4%EB%9E%80

3.Flask

1)Flask

Flask는 파이썬 기반 웹 프레임워크중 하나이다. 자바가 아닌 파이썬으로도 웹 서버를 만들 수 있다는 의미이다.

자바 기반 웹 프레임워크로는 대표적으로 Spring이 있듯이, 파이썬 기반 웹 프레임 워크로는 대표적으로 Flask, Django가 있는 것이다.

2) Flask는 언제 쓰이는가?

앞에서 언급했듯이, 파이썬 기반으로 웹 개발을 하고싶을 때 사용할 수 있다. 파이썬이 back-end쪽을 담당하고 HTML, CSS, JAVASCRIPT이 Front-end쪽을 담당하게 하는식으로 구현하여 웹 프로젝트를 수행할 수 있다.

4.jinjia2

1) 템플릿 엔진

  • 템플릿 양식과 특정 데이터 모델에 따른 입력 자료를 합성하여 결과 문서를 출력하는 소프트웨어(또는 소프트웨어 컴포넌트)를 말합니다.* Template : 공통적인 프레임을 미리 제작한 것이다.

웹 템플릿 엔진(Web Template Enging)이란?

  • 웹 문서가 출력되는 템플릿 엔진을 말한다. 즉, 웹 템플릿 엔진은  웹 템플릿들(Web Templates)과 웹 컨텐츠 정보(Content Information)를 처리하기 위해 설계된 소프트웨어이고 웹 템플릿 엔진은 View Code(Html)와 Data Logic Code(Db Connection)를 분리해주는 기능을 합니다.

  • 재사용성이 높다.

웹페이지 혹은 웹앱을 만들 때 똑같은 디자인의 페이지에서 보이는 데이터만 바뀌는 경우가 많다.한 페이지를 템플릿 엔진 문법으로 만들어 놓고 여기에 데이터를 바꿔가면서 렌더링을 해주면 수 백의 페이지들을 나타낼수 있다.

  • 유지보수에 용이하다

템플릿 엔진을 사용하면 동일한 템플릿을 사용한다는 전제하에 템플릿과 넘겨주는 데이터만 수정하면 된다.

  • 코드를 많이 줄일 수 있다.

대부분의 템플릿 엔진은 기존의 HTML에 비해서 간단한 문법을 사용한다. 코드가 길어지면 길어질 수록 템플릿 엔진을 사용하면 좋다.

2) 종류

  • 종류는 서버사이드 템플릿엔진, 클라이언트 사이드 엔진이 있다.

출처: https://usefultoknow.tistory.com/entry/템플릿-엔진Template-Engine-이란 [UsefulToKnow:티스토리]

3)jinjia2

  • Jinja2는 파이썬에서 가장 많이 사용되는 템플릿 엔진 중 하나이다. Django의 템플릿 시스템에서 영감을 얻었지만 템플릿 작상자에게 더 강력한 도구 세트를 제공하는 표현 언어로 확장했고 보안이 중요한 애플리케이션을 위해 샌드박스 실행 및 선택적 자동 이스케이프를 추가했다.

  • Flask 템플릿 렌더링 방법
    기본적으로 Flask는 애플리케이션 폴더 안에 위치한 templates 서브폴더에서 템플릿을 검색한다. 그 곳에 위치한 HTML 파일을 이용하여 렌더링 한다.

참고 자료 : https://stackshare.io/stackups/jinja-vs-php
참고 자료 : https://ddaaadd.tistory.com/276
참고 자료 : https://usefultoknow.tistory.com/entry/%ED%85%9C%ED%94%8C%EB%A6%BF-%EC%97%94%EC%A7%84Template-Engine-%EC%9D%B4%EB%9E%80

참고자료 : https://kimcoder.tistory.com/254

profile
이리저리 생각만 많은 사고뭉치입니다.

0개의 댓글