我想在構建django模板級別時有一些建議。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 %}
views.py:
def myView(request): return render_to_response('level2_level3_1.html', {}, context_instance=RequestContext(request))
這樣我可以看到以下我的瀏覽器:
First level
Second level
Third level, part 1
這是合乎邏輯的我,因爲我只在level2_level3_1.html調用render_to response
。
當然,如果調用level2_level3_2.html,我會得到消息Third level, part 2
而不是Third level, part1
。
如何解決這個問題?這是一個好方法嗎?我以這種方式構建了一些東西,因爲我的真實模板很大,有很多代碼行,所以我想保留一些命令。 任何意見將不勝感激。
有什麼問題?你想有「第三級,第一部分」和「第三級,第二部分」。 爲什麼你不能把兩個部分放在同一個頁面?他們屬於兩個不同的塊。 – EsseTi
正如我上面所說的「我以這種方式構建了一些東西,因爲我的真實模板非常大......」。這是一個簡單的例子,但我的level2_level3_1.html和level2_level3_2.html實際上很長,我不想將它們合併成一個巨大的單個文件。 – caneta