파이썬 Flask 패키지에 내장된 패키지 중 하나로 Flask에서는 렌더링을 위해 jinja2라는 템플릿 엔진을 사용한다.
서버 사이드 렌더링(SSR)은 서버로부터 HTML과 data가 붙여진 템플릿을 받아와 페이지 요청마다 새로고침이 일어나는 것으로 , view에 나타나는 화면 구성을 서버에서 연산해 낸다.
참고 > 렌더링
app.py
from flask import Flask, render_template
app = Flask(__name__)
// 템플릿 엔진의 name 변수에 hyemco를 입력
@app.route('/')
def home():
mynemae = "hyemco"
return render_template('index.html, name=myname')
if __name__ == '__main__':
app.run(debug=True)
Flask는 프로젝트 폴더 안 templates 폴더에서 템플릿을 검색하게 되므로 templates 폴더안에 템플릿 파일을 저장해야한다.
templates 폴더 - index.,html
<h1>Hello, My name is {{ name }}.</h1>
렌더링 결과
Hello, MYname is hyemco.
app.py
@app.route('/')
def main():
words = list(db.words.find({}, {"_id": False}))
return render_template("index.html", words=words)
words
콜렌션에 있는 데이터를 조건없이 find해 변수 words
에 담아준다.
if
// if문 시작
{% if user %}
// name이 입력되어 있을 경우
<h1>안녕, {{ name }}</h1>
{% else %}
// name이 없을 경우
<h1>넌 누구냣</h1>
// if문 종료
{% endif %}
for
<ul>
// 반복 시작
{% for comment in comments %}
<li>{{ comment }}</li>
// 반목 종료
{% endfor %}
</ul>