Jinja2
(이하 Jinja)는 Python 웹 프레임워크인 Flask에 내장되어 있는 Template 엔진이다. Jinja는 JSP의 문법이나 ES6의 template string과 비슷한 문법을 가지고 있다.
Jinja
문법은 간단히 아래와 같다.
{{ ... }}
: 변수나 표현식{% ... %}
: if나 for같은 제어문{# ... #}
: 주석Jinja의 자세한 문법은 https://jinja.palletsprojects.com/en/2.10.x/ 에서 살펴볼 수 있다.
<!DOCTYPE html>
<html lang="ko">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<meta http-equiv="X-UA-Compatible" content="ie=edge">
{% if title %}
<title>{{ title }}</title>
{% endif %}
</head>
<body>
<h1>Bind string: {{ home_str }}</h1>
<p>This page is for Flask tutorial.</p>
<p>Bind list value: {{ home_list[2:4] }}</p>
<ul>
{% for idx in home_list %}
<li>{{ idx }}</li>
{% endfor %}
</ul>
</body>
</html>
from flask import Flask, render_template
app = Flask(__name__)
@app.route('/')
@app.route('/index')
def index():
return render_template(
'index.html',
title = 'Flask Template Test',
home_str = 'Hello Flask!',
home_list = [1, 2, 3, 4, 5]
)
@app.route('/info')
def info():
return render_template('info.html')
# app.run(debug = True)
Conda CLI 환경의 pytest
폴더에서 flask run
을 입력하여 Flask 서버를 기동한 후, http://127.0.0.1:5000/
로 접속가능하다