2017-04-23 32 views
0

我正在關注使用Django CMS構建基本博客的this教程,並遇到一種奇怪的行爲。當我發現「內容」區域未在CMS的「結構」部分中創建時,這一切都開始了。在調查它時,我發現了這個奇怪的行爲。Django CMS佔位符在模板塊內未顯示

這是它。

base.html文件:

<!-- Main Content --> 
<div class="container"> 
    <div class="row"> 
     <div class="col-lg-8 col-lg-offset-2 col-md-10 col-md-offset-1"> 
      {% block content %}{% endblock %} 
     </div> 
    </div> 
</div> 
<hr> 

content.html:

{% extends "base.html" %} 
{% load cms_tags %} 

{% block content %} 
    {% placeholder content or%} 
    {% endplaceholder %} 
{% endblock content %} 

此配置上述顯示器CMS的結構頁面上沒有內容塊。但是,如果我將base.html片段更改爲以下內容,則可以使用。

base.html文件:

<!-- Main Content --> 
<div class="container"> 
    <div class="row"> 
     <div class="col-lg-8 col-lg-offset-2 col-md-10 col-md-offset-1"> 
       {% placeholder content or%} 
       {% endplaceholder %} 
     </div> 
    </div> 
</div> 
<hr> 

有人能告訴我,爲什麼出現這種情況?我在Django如何處理模板塊時缺少什麼?在我看來,這兩個案件應該得到一致的對待。但結果明顯不同。該教程聲稱我應該改變content.html的一面。但是,如上所述,這是行不通的。

任何澄清表示讚賞!

+0

雙方確實似乎是相同的,並應根據我的工作。我能想到的唯一想法就是你可能會擴展一個不同的base.html。你可以嘗試在content.html中添加一些基本的html來查看它是否被渲染? – dentemm

+0

我嘗試了你的建議,並沒有任何效果。玩了一段時間後,我能夠解決它。如果感興趣,請參閱下面的答案。 – MadPhysicist

回答

0

我能夠使用以下修改解決此問題。

base.html文件:

<!-- Main Content --> 
{% placeholder content or %} 
<div class="container"> 
    <div class="row"> 
     <div class="col-lg-8 col-lg-offset-2 col-md-10 col-md-offset-1"> 
      {% block content %}{% endblock %} 
     </div> 
    </div> 
</div> 
<hr> 
{% endplaceholder %} 

content.html:

{% extends "base.html" %} 
{% load cms_tags %} 

{% block content %} 
{% endblock content %}