4

我正在尝试在谷歌应用引擎上的 jinja2 中使用继承。但到目前为止我还没有做到。你能指出我做错了什么吗?

这是我的base.html

{{text}}
{% block title %}
Failure
{% endblock %}

此模板由以下内容扩展title.html

{% extends "base.html" %}
{% block title %}
World!!
{% endblock %}

两个模板都在同一个目录/templates/wiki中。

这就是我加载模板和渲染的方式base.html

import os
import jinja2
import webapp2

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

class MyHandler(webapp2.RequestHandler):
def get(self):
    templ = jinja_env.get_template('base.html')
    self.response.out.write(templ.render(text = 'Hello,'))

假定的输出是

你好世界!!!

但我可以得到:

你好,失败

Jinja2 版本是 2.6。

4

1 回答 1

6

您必须渲染 title.html 而不是 base.html。

于 2012-05-30T09:16:32.127 回答