πŸ“

Tamplate Language

ν•΄λ‹Ή λ¬Έμ„œλŠ” 2개의 κ³΅μ‹λ¬Έμ„œλ₯Ό μ°Έκ³ ν•˜μ˜€μŠ΅λ‹ˆλ‹€.

1. ν…œν”Œλ¦Ώ νƒœκ·Έ

ν…œν”Œλ¦Ώ νƒœκ·ΈλŠ” κΈ°μ‘΄ Python에 μžˆλŠ” syntex에 ν•΄λ‹Ήν•˜λŠ” λΆ€λΆ„μž…λ‹ˆλ‹€. if, else, for ꡬ문과 같은 것을 μ‚¬μš©ν•  수 있고, μΆ”κ°€λ‘œ ν™•μž₯ syntexλ₯Ό(extends, block, include, etc) μ‚¬μš©ν•  수 μžˆμŠ΅λ‹ˆλ‹€. μ€‘κ΄„ν˜Έ({})와 νΌμ„ΌνŠΈ(%)λ₯Ό μ‘°ν•©ν•˜μ—¬ μ‚¬μš©ν•©λ‹ˆλ‹€.
{% 문법 %} {# 주석 #} {# {% if foo %}bar{% else %} #} {% comment "Optional note" %} <p>Commented out text with {{ create_date|date:"c" }}</p> {% endcomment %}

2. ν…œν”Œλ¦Ώ λ³€μˆ˜

ν…œν”Œλ¦Ώ λ³€μˆ˜λŠ” render ν•¨μˆ˜λ‚˜ JsonResponse ν•¨μˆ˜λ‘œ 데이터λ₯Ό 전달받아 html파일 μ•ˆμ—μ„œ ν˜ΈμΆœλ˜λŠ” 파이썬의 λ”•μ…”λ„ˆλ¦¬ν˜• λ³€μˆ˜μž…λ‹ˆλ‹€. μ€‘κ΄„ν˜Έ 2개λ₯Ό μ‚¬μš©ν•©λ‹ˆλ‹€.
{{ λ³€μˆ˜ }}

3. ν…œν”Œλ¦Ώ ν•„ν„°

ν…œν”Œλ¦Ώ ν•„ν„°λŠ” λ³€μˆ˜κ°’μ„ λ³€ν™˜μ‹œμΌœ 좜λ ₯ν•˜κΈ° μœ„ν•œ μ˜΅μ…˜μž…λ‹ˆλ‹€. ν…œν”Œλ¦Ώ λ³€μˆ˜ μ˜†μ— νŒŒμ΄ν”„(|)λ₯Ό μ‚¬μš©ν•©λ‹ˆλ‹€.
{{ λ³€μˆ˜|μ˜΅μ…˜ }} {{ value|date:"D d M Y" }} {{ value|time:"H:i" }}
Β 

Β 

4. μ‹€μŠ΅

  • μ˜μƒμ„ λ³΄μ‹œλ©΄μ„œ 볡사, λΆ™μ—¬λ„£κΈ° μš©λ„λ‘œ μ‚¬μš©ν•˜μ„Έμš”.
{% for i in obj %} <h1>{{i.contents}}</h1> <p>{{ forloop.counter }}</p> {% endfor %}
Β 
{% for i in obj %} <h1>{{i.contents}}</h1> <p>{{ forloop.counter0 }}</p> {% endfor %}
Β 
{% for i in obj %} <h1>{{i.contents}}</h1> <p>{{ forloop.counter10 }}</p> {% endfor %}
Β 
{% for i in obj %} <h1>{{i.contents}}</h1> <p>{{ forloop.counter10 }}</p> {% endfor %}
Β 

Β 
{% for i in obj %} <h1>{{i.contents}}</h1> <p>{{ forloop.revcounter }}</p> {% endfor %}
Β 
{% for i in obj %} <h1>{{i.contents}}</h1> <p>{{ forloop.revcounter0 }}</p> {% endfor %}
Β 

Β 
Β 
{% for i in obj %} <h1>{{i.contents}}</h1> <p>{{ forloop.revcounter0 }}</p> {% if i.viewCount > 3 %} <p>if 문이 λ™μž‘ν•˜μ˜€μŠ΅λ‹ˆλ‹€.</p> {% elif i.viewCount > 1 %} <p>elif 문이 λ™μž‘ν•˜μ˜€μŠ΅λ‹ˆλ‹€.</p> {% else %} <p>else 문이 λ™μž‘ν•˜μ˜€μŠ΅λ‹ˆλ‹€.</p> {% endif %} {% endfor %}
Β 

Β 
{% for i in obj %} <h1>{{i.contents}}</h1> <p>{{ forloop.revcounter0 }}</p> {% if i.viewCount > 3 %} <p>if 문이 λ™μž‘ν•˜μ˜€μŠ΅λ‹ˆλ‹€.</p> {% elif i.viewCount > 1 %} <p>elif 문이 λ™μž‘ν•˜μ˜€μŠ΅λ‹ˆλ‹€.</p> {% else %} <p>else 문이 λ™μž‘ν•˜μ˜€μŠ΅λ‹ˆλ‹€.</p> {% endif %} {% endfor %} {% with value='hello world' %} <h1>{{value}}</h1> {% endwith %}
Β 

Β 
Β 
{% for i in obj %} <h1>{{i.contents}}</h1> <p>{{ forloop.revcounter0 }}</p> {% if i.viewCount > 3 %} <p>if 문이 λ™μž‘ν•˜μ˜€μŠ΅λ‹ˆλ‹€.</p> {% elif i.viewCount > 1 %} <p>elif 문이 λ™μž‘ν•˜μ˜€μŠ΅λ‹ˆλ‹€.</p> {% else %} <p>else 문이 λ™μž‘ν•˜μ˜€μŠ΅λ‹ˆλ‹€.</p> {% endif %} {% endfor %} {% with value='hello world' %} <h1>{{value}}</h1> {% endwith %} {% load %}
  • ν•΄λ‹Ή νƒœκ·ΈλŠ” μˆ˜μ—…μ—μ„œ μ‹€μŠ΅ν•˜μ§€ μ•ŠμŠ΅λ‹ˆλ‹€. μ‚¬μš©μž μ •μ˜ νƒœκ·Έλ₯Ό λΆˆλŸ¬μ˜΅λ‹ˆλ‹€.
Β 
{% for i in obj %} <h1>{{i.contents}}</h1> <p>{{ forloop.revcounter0 }} {% if i.viewCount > 3 %} <p>if 문이 λ™μž‘ν•˜μ˜€μŠ΅λ‹ˆλ‹€.</p> {% elif i.viewCount > 1 %} <p>elif 문이 λ™μž‘ν•˜μ˜€μŠ΅λ‹ˆλ‹€.</p> {% else %} <p>else 문이 λ™μž‘ν•˜μ˜€μŠ΅λ‹ˆλ‹€.</p> {% endif %} {% endfor %} {% with value='hello world' %} <h1>{{value}}</h1> {% endwith %} {# μ£Όμ„μž…λ‹ˆλ‹€ #} {% comment 'hojun' %} <p>μ•ˆλ³΄μž„, μ†ŒμŠ€μ½”λ“œ 보λ₯˜ μš©λ„λ‘œλ„ μ‚¬μš©</p> {% endcomment %}
Β 

Β 
  • μ΅œμ’… μ‹€μŠ΅ μ½”λ“œ
<h1>{{ value }}</h1> <p>{{ value.2.title }}</p> {% for i in value %} <h1>{{ forloop.revcounter0 }} - {{ i.title }}</h1> <p>{{ i.contents|linebreaks|truncatewords:30 }}</p> <p>{{ i.contents|length }} <p>{{ i.contents|slice:":10" }} <p>{{ i.viewCount }}</p> {% if i.viewCount > 7 %} <p>λ·° μˆ˜κ°€ λ§ŽμŠ΅λ‹ˆλ‹€.</p> {% elif i.viewCount > 5 %} <p>μ½˜ν…μΈ κ°€ λ°˜μ‘μ„ 보이고 μžˆμŠ΅λ‹ˆλ‹€.</p> {% else %} <p>μ½˜ν…μΈ  홍보λ₯Ό 더 ν•΄μ£Όμ„Έμš”.</p> {% endif %} {% endfor %} {% with value='hello world' %} <h1>{{ value }}</h1> {% endwith %} {# hello world #} {% comment %} <p>hello world!!!!!!!!!!!</p> {% for i in value %} <h1>{{ forloop.revcounter0 }} - {{ i.title }}</h1> <p>{{ i.contents }}</p> <p>{{ i.viewCount }}</p> {% if i.viewCount > 7 %} <p>λ·° μˆ˜κ°€ λ§ŽμŠ΅λ‹ˆλ‹€.</p> {% elif i.viewCount > 5 %} <p>μ½˜ν…μΈ κ°€ λ°˜μ‘μ„ 보이고 μžˆμŠ΅λ‹ˆλ‹€.</p> {% else %} <p>μ½˜ν…μΈ  홍보λ₯Ό 더 ν•΄μ£Όμ„Έμš”.</p> {% endif %} {% endfor %} {% endcomment %} {% lorem 3 p %} It is {% now "jS F Y H:i" %}