pythonのjinja2を使ってかつ環境がgoogle app engineの場合、Template Inheritanceつまりtemplateの継承はできるのだろうか?
試した結果できるみたい。
まずは、python側のコードを以下のようにする。
import webapp2 import os import jinja2 JINJA_ENVIRONMENT = jinja2.Environment( loader=jinja2.FileSystemLoader(os.path.dirname(__file__)), extensions=['jinja2.ext.autoescape'], autoescape=True ) #------------------------------------------------------------ #Top Index #------------------------------------------------------------ class TopHandler(webapp2.RequestHandler): def get(self): self.response.headers['Content-Type'] = 'text/html; charset=UTF-8' template_values = {} template = JINJA_ENVIRONMENT.get_template('hoge.html') self.response.write(template.render(template_values))で、html側を二つ用意する。
{% extends "base.html" %} {% block hoge %}<p>hello world</p>{% endblock %}で、基点となるhtmlを下のように用意する。
{% block hoge %}{% endblock %}そうすると、block hogeの部分にコードが置換される。
これめっちゃ便利ー。
0 コメント:
コメントを投稿