2017-04-23 29 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 %}