【问题标题】:Django CMS Placeholder Within Template Block Not Displaying模板块内的 Django CMS 占位符不显示
【发布时间】:2017-09-19 21:49:15
【问题描述】:

我正在关注this 使用 Django CMS 构建基本博客的教程,但遇到了一个奇怪的行为。当我发现没有在 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 sn-p 更改为以下内容,它就可以工作。

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 方面。但是,如上图所示,这是行不通的。

感谢任何解释!

【问题讨论】:

  • 两者确实看起来是相同的,并且应该按照我的方式工作。我能想到的唯一想法是您可能正在扩展不同的 base.html。您可以尝试在 content.html 中添加一些基本的 html 以查看它是否被渲染?
  • 我尝试了你的建议,但没有任何效果。玩了一段时间后,我能够解决它。如果有兴趣,请参阅下面的答案。

标签: python html django django-templates django-cms


【解决方案1】:

我能够通过以下修改解决此问题。

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 %}

【讨论】:

    猜你喜欢
    • 2014-08-31
    • 2015-05-20
    • 2015-03-16
    • 2013-09-26
    • 2018-08-08
    • 1970-01-01
    • 2015-05-21
    • 2016-01-04
    • 1970-01-01
    相关资源
    最近更新 更多