2014-01-28 63 views
1

當我試圖將投票/索引頁面擴展到我的主博客/索引頁面時,我得到空白頁面。 Whay我明白了嗎?擴展模板頁面時的空白頁面

博客/ index.html的

{% extends "polls/index.html" %} 
    <!doctype "html5"> 
    <html> 
    <head> 
    ..... 
    {% block poll %}{% endblock %} 

民調/ index.html的

{% block poll %} 
    {% if latest_poll_list %} 
     <ul> 
      {% for poll in latest_poll_list %} 
       <li><a href="{% url 'polls:detail' poll.id %}">{{ poll.question }}</a></li> 
      {% endfor %} 
     </ul> 
    {% else %} 
     <p>No polls are available.</p> 
    {% endif %} 
{% endblock %} 

回答

0

extends tag應在子模板中使用,而不是在基地(父)模板。


博客/ index.html的

<!doctype "html5"> 
<html> 
<head> 
..... 
{% block poll %}{% endblock %} 

民調/ index.html的

{% extends "blog/index.html" %} {# <--- #} 
{% block poll %} 
    {% if latest_poll_list %} 
     <ul> 
      {% for poll in latest_poll_list %} 
       <li><a href="{% url 'polls:detail' poll.id %}">{{ poll.question }}</a></li> 
      {% endfor %} 
     </ul> 
    {% else %} 
     <p>No polls are available.</p> 
    {% endif %} 
{% endblock %} 

Template inheritance

+0

好,我在民意測驗/ index.html的'{%伸出 「博客/ index.html的」 %執行}',但它沒有實現任何東西,現在我可以看到頁面,但民意調查模型沒有 – Eriks

+0

@EriksJauga,檢查你是否正確地傳遞了'latest_poll_list'。 (在'if ...'之前放'latest_poll_list:{{latest_poll_list}}')。 – falsetru

+0

我真的不知道我現在應該做什麼。它不包括任何東西在我的主要博客/ index.html,理由/帖子/它增加了風格和新聞沒有找到,我不需要... – Eriks

1

塊標記{%塊NAMEOFBLOCKTAG%}:

定義可以通過子模板覆蓋的塊。所以,這個標籤出現在父模板和子模板中。在父模板,我們關閉標籤後,我們打開它:在父模板{% block NAME_OF_BLOCKTAG %}{% endNAME_OF_BLOCKTAG %}

在子模板,塊標籤被打開,並且標籤內代表元素

之前被寫入標籤已關閉。

在子模板

{% block NAME_OF_BLOCKTAG %} 
# some elements from child template 
{% endNAME_OF_BLOCKTAG %} 

擴展標記{%延伸NAME_OF_PARENT_TEMPLETE%}當前模板擴展父模板

信號。用於文件頂部的子模板。

你的情況使用方法如下:

#blog/index.html 
<!doctype "html5"> 
<html> 
<head> 
..... 
{% block poll %}{% endblock %} 

#polls/index.html 
{% extends "blog/index.html" %} 
{% block poll %} 
    {% if latest_poll_list %} 
     <ul> 
      {% for poll in latest_poll_list %} 
       <li><a href="{% url 'polls:detail' poll.id %}">{{ poll.question }}</a></li> 
      {% endfor %} 
     </ul> 
    {% else %} 
     <p>No polls are available.</p> 
    {% endif %} 
{% endblock %} 
+0

但在博客/ index.html我沒有看到民意調查模板。它不執行任何事情。只是在民意調查/ index.html我看到新的東西沒有消息創建。 whay? – Eriks