"Jinja 템플릿엔진"의 두 판 사이의 차이

49번째 줄: 49번째 줄:


==예시 2==
==예시 2==
<source lang='html5'>
<source lang='html+jinja'>
{% extends 'base.html' %}
{% extends 'base.html' %}
{% block title %}Memberlist{% endblock %}
{% block title %}Memberlist{% endblock %}

2016년 4월 1일 (금) 09:15 판

  다른 뜻에 대해서는 일본 신사 문서를 참조하십시오.

1 개요

Jinja
진자, 신사
다만 Jinja의 표현방식이 약간 더 Python에 가까움
  • 라이선스: BSD

<img src='http://jinja.pocoo.org/static/jinja.png' style='width:250px'>

2 예시 1

from jinja2 import Template
 
tmpl = Template(u'''\
<!DOCTYPE html>
<html>
  <head>
    <title>{{ variable|escape }}</title>
  </head>
  <body>
  {%- for item in item_list %}
    {{ item }}{% if not loop.last %},{% endif %}
  {%- endfor %}
  </body>
</html>
''')
 
print tmpl.render(
    variable = 'Value with <unsafe> data',
    item_list = [1, 2, 3]
)
<!DOCTYPE html>
<html>
  <head>
    <title>Value with &lt;unsafe&gt; data</title>
  </head>
  <body>
    1,
    2,
    3,
  </body>
</html>

3 예시 2

{% extends 'base.html' %}
{% block title %}Memberlist{% endblock %}
{% block content %}
  <ul>
  {% for user in users %}
	<li><a href="{{ user.url }}">{{ user.username }}</a></li>
  {% endfor %}
  </ul>
{% endblock %}

4 같이 보기

5 주석

  1. 물론 Flask 없이도 Jinja는 독립적으로 사용가능하다.
  2. 이 모듈 없이 Python Server Page 코딩하다가 띄어쓰기 문제 때문에 매우 피곤했던 경험이 있다...

6 참고 자료

문서 댓글 ({{ doc_comments.length }})
{{ comment.name }} {{ comment.created | snstime }}