2013-05-07 81 views
0

比方說,我有這樣的結構:如何覆蓋Django中包含的模板塊?

{# base.html #} 
{% block content %}{% endblock %} 

{# page.html #} 
{% extends "base.html" %} 
{% block content %} 
{% include "snippet.html" %} 
{# and I also want somehow to redefine {% block snippet_content %} of snippet here #} 
{% endblock %} 

{# snippet.html #} 
<bells_and_whistles> 
    {% block snippet_content %}{% endblock %} 
</bells_and_whistles> 

我希望代碼是自我解釋。

有沒有一種優雅的方式來實現這一目標?

回答

0

恐怕這是不可能的,你想這樣做。

的選項有:

  1. 創建modified_snippet.htmlsnippet.html繼承和重寫塊,包括它,而不是
  2. snippet_content塊更改爲{{ snippet_content }}變量和使用{% include "snippet.html" with snippet_content="My content" %}傳遞其內容。當然這種方法非常有限。