我想对构建 django 模板级别有一些建议。
阅读文档,我不明白如何创建超过 2 个级别的模板层次结构。
例如,我想创建 3 级继承:
base.html
└── base_level2.html
├── level2_level3_1.html
└── level2_level3_2.html
这是我的代码:
base.html
First level {% block level2 %}{% endblock %}
base_level2.html
{% extends "base.html" %} {% block level2 %} Second level {% block level3_1 %}{% endblock %} {% block level3_2 %}{% endblock %} {% endblock %}
level2_level3_1.html
{% extends "base_level2.html" %} {% block level3_1 %} Third level, part 1 {% endblock %}
level2_level3_2.html
{% extends "base_level2.html" %} {% block level3_2 %} Third level, part 2 {% endblock %}
视图.py:
def myView(request): return render_to_response('level2_level3_1.html', {}, context_instance=RequestContext(request))
通过这种方式,我可以在浏览器上看到以下内容:
First level
Second level
Third level, part 1
这对我来说是合乎逻辑的,因为我render_to response
只调用 level2_level3_1.html。
当然,如果调用 level2_level3_2.html,我会收到消息Third level, part 2
,但不会收到Third level, part1
.
如何解决这个问题?这是一个好方法吗?我以这种方式构建了东西,因为我的真实模板非常大,代码行很多,所以我想保持一些秩序。任何建议将被认真考虑。