2

template用来分隔 HTML 和 Python 代码。我创建模板文件夹。在这个文件夹中,我创建了 index.html。这是我的代码:

template_dir = os.path.join(os.path.dirname(__file__),'templates')
jinja_environment = jinja2.Environment(autoescape=True, loader=jinja2.FileSystemLoader(template_dir))

def render(self, template, **params):
        t = jinja_environment.get_template(template)
        return t.render(params)

并使用 render('index.html') :成功,没问题。

但是当我创建子文件夹:模板/博客并在这个文件夹中,我创建了 blog.html。我将上面的模板从 更改templatestemplates/blog。这是我的代码:

template_dir = os.path.join(os.path.dirname(__file__),'templates/blog')
jinja_environment = jinja2.Environment(autoescape=True, loader=jinja2.FileSystemLoader(template_dir))

但是,当我使用 render('blog.html') 时,我收到了错误:TemplateNotFound: blog.html

请帮我。

谢谢 :)

4

1 回答 1

3

您可以在 jinja2 环境中添加更多文件夹:

jinja_environment = jinja2.Environment(
  loader=jinja2.FileSystemLoader(['templates', 'templates\blog'])
)
于 2012-07-09T07:42:40.723 回答