如何使用超级块扩展 jinja2 模板,该超级块是同一 Python 脚本中的字符串
how to extend a jinja2 template with a super block that is a string in the same Python script
我不明白如何使用超级块扩展 jinja2 模板,该超级块是同一 Python 脚本中的字符串
示例代码
from jinja2 import Template
hello = """
hello
"""
world = """
{% extends 'hello' %}
world
"""
j2_template = Template(world)
print(j2_template.render())
显然,我想打印“hello world”,但出现错误
TypeError: no loader for this environment specified
我查看了 Jinja2 加载程序文档,但找不到如何将字符串引用为超级块。
任何解决此问题的帮助将不胜感激。
Jinja 不知道 hello
模板在哪里。您需要先删除 {% extends 'hello' %}
并呈现 hello
并将其作为变量插入到字符串模板中。
world = Template("""{} world""".format(Template(hello).render()))
print(world.render())
from jinja2 import Environment, BaseLoader, DictLoader
loader = DictLoader({'hello': '<div>hello html</div>'})
# Need environment dictLoader object to loader
template_env = Environment(loader=loader, cache_size=1000)
template = template_env.from_string("<div>ss {{name}} {% include 'hello' %} </div>")
dictt = {"name": "sumit"}
parsed_html = template.render(dictt)
# Parsed output in html string
https://jinja.palletsprojects.com/en/3.0.x/api/
link 文档
对我有用
我不明白如何使用超级块扩展 jinja2 模板,该超级块是同一 Python 脚本中的字符串
示例代码
from jinja2 import Template
hello = """
hello
"""
world = """
{% extends 'hello' %}
world
"""
j2_template = Template(world)
print(j2_template.render())
显然,我想打印“hello world”,但出现错误
TypeError: no loader for this environment specified
我查看了 Jinja2 加载程序文档,但找不到如何将字符串引用为超级块。 任何解决此问题的帮助将不胜感激。
Jinja 不知道 hello
模板在哪里。您需要先删除 {% extends 'hello' %}
并呈现 hello
并将其作为变量插入到字符串模板中。
world = Template("""{} world""".format(Template(hello).render()))
print(world.render())
from jinja2 import Environment, BaseLoader, DictLoader
loader = DictLoader({'hello': '<div>hello html</div>'})
# Need environment dictLoader object to loader
template_env = Environment(loader=loader, cache_size=1000)
template = template_env.from_string("<div>ss {{name}} {% include 'hello' %} </div>")
dictt = {"name": "sumit"}
parsed_html = template.render(dictt)
# Parsed output in html string
https://jinja.palletsprojects.com/en/3.0.x/api/ link 文档
对我有用