python jinja2 템플릿 사용 예시
템플릿의 용도
jinja2는 프로필을 수정할 수 있으며, 프로필의 관건적인 부분을 변수로 바꿀 수 있습니다
템플릿 구문
템플릿 문법과 django의 템플릿 문법 차이는 jinja2에 많지 않고 세 가지 문법이 존재한다.
{% for user in users %}
{{user.username}}
{% endfor %}
반복 자전
{% for key,value in my_dict.iteritems() %}
{{ key }}
{{ value }}
{% endfor %}
여과기일반적인 필터는 다음과 같습니다.
{{ 'abc' | catialize }}
# Abc
계승과 슈퍼 함수
<!DOCTYPE html>
<html lang="en">
<head>
{% block head %}
<link rel="stylesheet" href="style.css" rel="external nofollow" />
<title>{% block title %}{% endblock %} - My Webpage</title>
{% endblock %}
</head>
<body>
<div id="content">{% block content %}{% endblock %}</div>
<div id="footer">
{% block footer %}
<script>This is javascript code </script>
{% endblock %}
</div>
</body>
</html>
{% extend "base.html" %} # base.html
{% block title %} Dachenzi {% endblock %} # title
{% block head %}
{{ super() }} #
<style type='text/css'>
.important { color: #FFFFFF }
</style>
{% endblock %}
#
jinja2를 이용하여 렌더링
jinja2 모듈에는 Enviroment라는 클래스가 있습니다. 이 클래스의 실례는 설정과 전역 대상을 저장하고 파일 시스템이나 다른 위치에서 템플릿을 불러오는 데 사용됩니다.
1. 기본 사용 방법
패키지 로더를 사용하여 문서를 로드하는 가장 간단한 방법은 다음과 같습니다.
from jinja2 import PackageLoader, Environment
env = Environment(loader=PackageLoader('python_project', 'templates')) #
template = env.get_template("base.html") #
template.render(name="daxin", age=18)
파일 시스템 로더, 템플릿 파일이 필요 없는Python 패키지 아래에서 시스템에 있는 파일에 직접 액세스 가능
import os
from jinja2 import PackageLoader, Environment, FileSystemLoader
path_dir = "/mnt/e/files"
loader = FileSystemLoader(searchpath=path_dir)
env = Environment(loader=loader)
template = env.get_template("index.opf") #
buf = template.render(name="daxin", age=18)
with open(os.path.join("path_dir", "index.opf"), "w" ) as fp:
fp.write(buf)
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
로마 숫자를 정수로 또는 그 반대로 변환그 중 하나는 로마 숫자를 정수로 변환하는 함수를 만드는 것이었고 두 번째는 그 반대를 수행하는 함수를 만드는 것이었습니다. 문자만 포함합니다'I', 'V', 'X', 'L', 'C', 'D', 'M' ; 문자열이 ...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.