我有一个在GAE上运行的项目,我很厌倦在我拥有的所有页面模板中手动支持页眉和页脚。 有没有办法为GAE使用母版页?
答案 0 :(得分:4)
您可以使用带有页眉和页脚的_base.htm
模板:
<!-- header -->
{% block bodycontent %}
{% endblock %}
<!-- footer -->
使用特定模板扩展它:
{% extends "_base.htm" %}
{% block bodycontent %}
<!-- template-specific stuff -->
{% endblock %}
这是我cms-app on github的模板文件夹:
templates/
├── _404.htm
├── _base.htm
├── _edit.htm
├── _login.htm
├── _unavailable.htm
├── blog.htm
└── default.htm
其中blog.htm和default.htm模板使用页眉,页脚和计数器扩展_base.htm模板。
在我的另一个不在github上的应用程序中,我使用名称为search.foo.base.htm
的命名约定,这意味着它是一个扩展foo.base.htm
模板的模板,扩展了base.htm
模板 - 如果您有复杂的模板层次结构,我认为这是一个有用的提示。
GAE使用django模板版本0.96(默认情况下),在djangoproject.com网站上找不到该文档。但是,有些好人把它们放在网上,看到这个问题: Missing Django 0.96 Template documentation (used by Google AppEngine developers)