我有一个基本模板(索引.html)和两个儿童模板ipsum和need。我用积木试着把两个孩子整合进基地。你知道吗
基本.html
<html>
<body>
{% block 'body1' %}
<p>testing 1</p>
{% endblock %}
{% block 'body2' %}
<p>testing 2</p>
{% endblock %}
</body>
</html>
child1.html
{% extends 'base.html' %}
{% block 'body1' %}
<p>Lorem ipsum dolor sit amet, consectetur adipiscing elit</p>
{% endblock %}
child2.html
{% extends 'base.html' %}
{% block 'body2' %}
<p>Quo usque tandem abutere, Catilina, patientia nostra?</p>
{% endblock %}
如果只有一个街区,我现在明白了我可以在我的视野中呼唤:
def index(request):
return render_to_response('ipsum.html',context_instance=RequestContext(request))
我该怎么做才能把这两块都填进去索引.html-1个ipsum.html另一个是需要.html吗?你知道吗
您应该让第一个子代扩展第二个子代,第二个子代将扩展基本html。这就是在django中扩展多个子模板的方法。你知道吗
因此,您的代码应该如下所示:
你知道吗索引.html
你知道吗ipsum.html
你知道吗需要.html
你知道吗视图.py
所以need
need.html
将首先被呈现,它将寻找ipsum.html
,当ipsum.html
被呈现时,它将寻找index.html
或者
如果您想进行包含而不是扩展,我建议您使用Django Sekizai库http://django-sekizai.readthedocs.org/en/latest/。它包括自定义标记,如
{% include 'xx.html' %}
,如果需要,它将在第一个子模板中呈现第二个子模板。你知道吗干杯, 生物鸟人
下面是一个工作示例:
http://biobirdman.com/stacktest/nestedtemplate/
实现这一点的一种方法是在基本模板中只有一个块,并在每个子模板中重写该块,如:
你知道吗基本.html地址:
child1.html:
child2.html:
相关问题 更多 >
编程相关推荐