Я пытаюсь использовать jinja2
в качестве шаблона для языка, похожего на xml.
Приведенный ниже код является примером этого языка с базовым шаблоном jinja2.Этот шаблон вызывает дочерний шаблон.
Базовый шаблон:
<?xml version="1.0" encoding="UTF-8"?>
<!-- An NCL SlideShow example with embedded Jinja2 template -->
<ncl id="slideShow">
<head>
<connectorBase>
<importBase documentURI="connectorBase.ncl" alias="conBase"/>
</connectorBase>
<regionBase>
<region id="main" width="100%" height="100%" zIndex="1"/>
</regionBase>
<descriptorBase>
<descriptor id="ImageDes" region="main"/>
</descriptorBase>
</head>
<body>
<port id="startSlideShow" component="image1"/>
{% block medias %}
{% endblock %}
</body>
</ncl>
Дочерний шаблон:
{% extends "slide_show.j2.ncl" %}
{% block media %}
<media id="image1" src="media/WinterSun.jpg"
descriptor="ImageDes"/>
{% endblock media %}
Скод Python, я пытаюсь загрузить файл базового шаблона.
if __name__ == "__main__":
env = Environment(
loader=FileSystemLoader('/templates/slide_show.j2'),
autoescape=select_autoescape(['ncl', 'xml'])
)
template = env.get_template('slide_show.j2')
Однако я получаю это исключение ниже:
jinja2.exceptions.TemplateNotFound: slide_show.j2