4

Google App Engine の 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

base.html の代わりに title.html をレンダリングする必要があります。

于 2012-05-30T09:16:32.127 に答える