<body>
<h1>{{ title }}</h1>
</body>
@app.route('/')
def index():
apple = 'red'
apple_count = 10
return render_template('index.html', fruit_color=apple, number=apple_count)
<body>
<h2>Apple is {{ fruit_color }}</h2>
<h2>{{ number }} 개의 과일이 있습니다.</h2>
</body>
변수를 넘겨주는 방법
{{ var }}
딕셔너리에서 세부선택은 .
# fruit 딕셔너리의 apple 키의 값만 출력
{{ fruits.apple }}
리스트에서 세부선택은 []
{{ vegetables[0] }}
파이썬과 동일하게 if, elif, else 사용가능하다.
{% if True %}
<h1>It is True</h1>
{% endif %}
HTML 엘리먼트를 반복사용할 때 많이 사용한다.
{% for item in item_list %}
<p>{{ item }}</p>
{% endfor %}
loop속성을 통해 다양한 반복 사용가능하다.
{% for item in item_list %}
# 0부터 1씩 증가시킨다.
<p>인덱스 : {{ loop.index0 }}, 이름 : {{ item }}</p>
{% endfor %}
반복적으로 사용되는 부분들을 하나로 묶어서 사용하게한다.
부모 템플릿의 경로를 자식 템플릿 파일의 첫 줄에 적어준다.
# 상속은 여러번 가능하다.
{% extends "base.html" %}
{% block %}, {% endblock %}을 이용한다.
<head>
# head는 블록의 이름이다. 겹치면 안됨
{% block head %}
<title>{% block title %}{% endblock %} - My Webpage</title>
{% endblock %}
</head>
자식이 부모블록의 내용을 이용할시 super를 이용한다.
(2번 상속된 파일의 가장 상위 부모내용 접근시 super.super()이용한다.)
{% extends "base.html" %}
{% block title %}Index{% endblock %}
{% block head %}
{{ super() }}
<h1>자식 블록에서 출력한 h1 입니다.</h1>
{% endblock %}