0. 들어가기
-. 이전 포스팅에서 Flask로 웹서버를 구성, Jinja로 웹 UI를 구성하기로 했다. 그리고 template engine Jinja의 간단한 사용법을 알아봤는데, 오늘은 Flask + jinja 구조로 html 페이지를 띄우는 방법에 대해 알아보겠다.
1. 사용 방법
-. Flask에서의 jinja engine은 앞서 Flask 포스팅에서 멋도 모르고 import 한 render_template으로 실행된다.
1) 코드 기본구조
from flask import Flask, render_template
app = Flask(__name__)
@app.route("/jinja2/base")
def page_jinja2_base():
return render_template("base.html")
@app.route("/jinja2/child")
def page_jinja2_child():
return render_template("child.html")
if __name__ == "__main__":
app.run(debug=True)
-. base.html과 child.html은 Jinja 예문의 것을 그대로 따옴.
2) 실행 결과
-. 위 출력결과를 보면, base.html input/output은 동일한 구조의 html 파일이란 것을 알 수 있다.
-. 반면, base.html의 extends로 적용 된 child.html은 input이 매우 간단한, 십여 줄의 코드인 반면 output은 두 배 길이의 html 스크립트로 출력된다.
2. jinja 구조
-. jinja 설명 페이지에 전부 있는건데, 내 스스로 꼼꼼히 볼 겸 정리한다.
-
{% ... %} for Statements -> jinja 자체 스크립트 실행 (loop 구문이 여러개 있다.)
-
{{ ... }} for Expressions to print to the template output -> template에 지정한 변수 넣기.
-
{# ... #} for Comments not included in the template output -> html 출력이 되지 않는, jinja 내 주석처리 구문
-
# ... ## for Line Statements -> 조금 헷갈리게 설명이 되어있다. jinja2의 environment 설정에서 코드 간결화를 위한 설정이 가능함. 일단 쓸 일 없으니 패스.
3. 결론.
-. 파이썬은 날먹 명제에 가장 걸맞는 구조는 Flask 서버 + jinja 결합인 것 같다.
'python > Flask' 카테고리의 다른 글
[python] Flask - ORM 사용 SQLite 연동 - 파이썬은 날먹 (0) | 2021.02.21 |
---|---|
[python] Flask - 모듈화, Blueprint 청사진 (0) | 2021.02.20 |
[Python] Flask - 주식차트 그리기 및 삽입 - 파이썬은 날먹 (2) | 2021.02.16 |
[Python] Flask - 라우트(route) - 파이썬은 날먹 (0) | 2021.02.10 |
[Python] Flask - 웹서버 열기 - 파이썬은 날먹 (0) | 2021.02.09 |
최근댓글