[웹 개발/Flask] Jinja2

집중맞은 도둑력·2024년 2월 23일

웹 개발

목록 보기
5/14
post-thumbnail

0. 🔖 목차


  1. Jinja2 개념
  2. Jinja2 문법

1. Jinja2 개념


Python 기반의 템플릿 엔진으로, Flask와 같은 웹 프레임워크에서 동적 웹 페이지를 생성하는 데 주로 사용

쉽게 말하면 이걸 쓰면 HTML에서 코드 작성이 가능해져서 동적으로 만들 수 있다는 것

어라? 그거 이미 JS가 해주는거 아님?

동적인 홈페이지를 만들어준다는 것은 같지만 분야가 다르다.

Jinja2는 서버에서 웹 페이지를 생성하는 반면, JavaScript는 웹 페이지가 브라우저에 로드된 후에 동작한다. 즉, Jinja는 서버 사이드, JS는 클라이언트 사이드에서 홈페이지를 동적으로 만들어준다.

뭣보다 Jinja는 template engine으로서 template과 data model을 혼합하여, 새로운 document를 만드는 게 주 업무라 볼 수 있다.

2. Jinja2 문법


  • 변수 출력
{{ variable }}

참고로 이 변수는 문자열 안에서도 인식된다. 그래서
<img src="{{ d.image_url }}",
<form action="{{ url_for('music_create') }}", method="GET">와 같은 표현이 가능하다.

  • 조건문
{% if user %}
    Hello, {{ user }}!
{% else %}
    Hello, Guest!
{% endif %}
  • 반복문
{% for d in data %}
	{{ d.title }}
    {{ d.artist }}
{% endfor %}
profile
틀린_내용이_있다면_말해주세요.

0개의 댓글