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

잔글 (봇: 자동으로 텍스트 교체 (-source +syntaxhighlight))
 
(사용자 2명의 중간 판 11개는 보이지 않습니다)
1번째 줄: 1번째 줄:
{{다른뜻|일본 신사}}
{{다른뜻|신사(神社)}}
==개요==
==개요==
;Jinja
;Jinja, Jinja2
;진자, 신사
;진자, 신사, 진자 템플릿엔진
* Python용 템플릿 엔진
* Python용 템플릿 엔진
* [[웹프레임워크 Flask]]에서도 이것을 사용함<ref>물론 Flask 없이도 Jinja는 독립적으로 사용가능하다.</ref><ref>이 모듈 없이 [[Python Server Page]] 코딩하다가 띄어쓰기 문제 때문에 매우 피곤했던 경험이 있다...</ref>
* [[Flask 웹프레임워크]]에서 이것을 사용함<ref>물론 Flask 없이도 Jinja는 독립적으로 사용가능하다.</ref><ref>이 모듈 없이 [[Python Server Page]] 코딩하다가 띄어쓰기 문제 때문에 매우 피곤했던 경험이 있다...</ref>
* Django의 템플릿 엔진도 이것과 유사함
* Django의 기본 템플릿 엔진도 이것과 유사함
:다만 Jinja의 표현방식이 약간 더 Python에 가까움
:Jinja의 표현방식이 약간 더 Python에 가까움
:Django에서도 설정에 따라 Jinja를 사용할 수 있음
* 라이선스: BSD
* 라이선스: BSD


12번째 줄: 13번째 줄:


==예시 1==
==예시 1==
<source lang='python'>
<syntaxhighlight lang='python'>
from jinja2 import Template
from jinja2 import Template
   
   
33번째 줄: 34번째 줄:
     item_list = [1, 2, 3]
     item_list = [1, 2, 3]
)
)
</source>
</syntaxhighlight>
<source lang='html5'>
<syntaxhighlight lang='html5'>
<!DOCTYPE html>
<!DOCTYPE html>
<html>
<html>
46번째 줄: 47번째 줄:
   </body>
   </body>
</html>
</html>
</source>
</syntaxhighlight>


==예시 2==
==예시 2==
<source lang='html5'>
<syntaxhighlight lang='html+jinja'>
{% extends 'base.html' %}
{% extends 'base.html' %}
{% block title %}Memberlist{% endblock %}
{% block title %}Memberlist{% endblock %}
59번째 줄: 60번째 줄:
   </ul>
   </ul>
{% endblock %}
{% endblock %}
</source>
</syntaxhighlight>


==같이 보기==
==같이 보기==
*[[웹프레임워크 Flask]]
* [[DjangoTemplates]]
*[[템플릿 엔진]]
* [[파이썬 서버 페이지 PSP]]
* [[웹프레임워크 Flask]]
* [[템플릿 엔진]]


==주석==
==주석==
<references/>
<references/>


==참고 자료==
==참고==
*http://en.wikipedia.org/wiki/Jinja_(template_engine)
*http://en.wikipedia.org/wiki/Jinja_(template_engine)
*http://jinja.pocoo.org/
*http://jinja.pocoo.org/

2020년 11월 2일 (월) 02:31 기준 최신판

  다른 뜻에 대해서는 신사(神社) 문서를 참조하십시오.

1 개요[ | ]

Jinja, Jinja2
진자, 신사, 진자 템플릿엔진
Jinja의 표현방식이 약간 더 Python에 가까움
Django에서도 설정에 따라 Jinja를 사용할 수 있음
  • 라이선스: 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 }}