我有一些html結構可以在很多不同的地方重複使用。它與整體模板不同,所以我不能擴展它,它也可以用來包含複雜的內容,所以我不認爲將它定義爲模板標籤是一件好事。以下是一些僞代碼,描述了我的期望結果,當使用template_level2.html時,您可以通過調用其中的塊來輕鬆地將內容放入reusable_pattern_template中。如果我確實使用了這個代碼,那麼您在template_level_2.html的「實際內容」中編寫的內容就不會顯示出來。我應該如何處理這個問題?django:在包含的模板中使用塊
base.html文件
<html>
<head></head>
<body>
{% block content %}{% endblock %}
</body>
</html>
template_level1.html
{% extends 'base.html' %}
{% block content %}
Something here...
{% include 'reusable_pattern_template.html' %}
Something else here...
{% endblock %}
reusable_pattern_template.html
<div>
<div>
<div>
{% block local_content %}{% endblock %}
</div>
</div>
</div>
template_level2.html
{% extends 'template_level1.html' %}
{% block local_content %}
Actual content here...
{% endblock %}
更新: 抱歉,在template_level2.html延伸有一些拼寫錯誤,我只是糾正它。
它可能不是很清楚,但上面的代碼中更多的是描述我所希望的結果的僞代碼。總之,
- 我想在我的 模板中包括可重複使用的html模式的小塊。
- 這些圖案就像是盒子,您可以將整個HTML 內容放入其中。所以上下文變量可能有點太有限 我的目的
似乎永遠不會調用'template_level2.html'。如果你包含了一些代碼塊,你不需要使用'block'語句,因爲你將包括什麼時候以及你想要什麼 – 2012-03-09 12:13:41
嗨fastreload! 'template_level2.html'是模板的最終級別,所以它不被包含/擴展到任何地方。通過調用'template_level2.html'中的'{%block%}'語句,我打算將內容放入''template_level2.html'中使用的'reusable_pattern_template.html'中。 – 2012-03-09 12:49:58
問題:爲什麼不使用django-generic-flatblocks?這是一個很棒的應用程序,它提供了一個很棒的模式 – jpic 2012-03-09 13:33:34