从祖先继承的 Django CMS 模板不识别占位符
Django CMS template inheriting from ancestor not recognizing placeholder
我正在使用 Django CMS 3.0.13。我有一个连接到 App Hook 的页面,它从最近的祖先那里继承了它的模板。
祖先模板未连接到 App Hook,并有一个占位符:
{# ancestor template #}
{% block content %}
{% placeholder 'content' %}
{% endblock %}
App Hook 页面之前覆盖了此块以隐藏内容占位符。现在,我需要启用这个占位符,所以我删除了覆盖并收到:
"content" placeholder not found in an apphook application. Please use a static placeholder instead.
我试过:
重新添加覆盖并更改占位符的名称:
{% block content %}
{% placeholder 'new_content' %}
{% endblock %}
保持继承不变并调用 super:
{% block content %}
{{ block.super }}
{% endblock %}
删除页面,重新添加,设置app hook,发布
所有这些都会导致相同的错误。我发现唯一可以解决此问题的方法是将 App Hook 页面的特定页面添加到 CMS_TEMPLATES
。
这不太理想。我该怎么做才能解决这个问题?
必须在直接绑定到 CMS 页面的页面上使用 placeholder
标记。如果您的模板是通过 django 应用程序呈现的,则需要使用 static_placeholder
.
A static_placeholder
也可用于在模板之间重复使用相同的内容,例如页脚。
有关静态占位符在 CMS 页面中而非外部应用程序中的使用的文档; http://django-cms.readthedocs.org/en/latest/how_to/templates.html#static-placeholder
此外,如果您还没有研究过这个,请查看有关应用中占位符的文档。 http://django-cms.readthedocs.org/en/latest/how_to/placeholders.html
在您的应用程序中使用 PlaceholderField
可以产生一些很酷的应用程序挂钩,这些挂钩可以占用您所有的 CMS 插件。具体来说,我制作了一个新闻应用程序,允许您通过工具栏 add/edit 内容,然后为所有对象提供一个 ListView
页面,在相应的 DetailView
中呈现占位符字段].
我正在使用 Django CMS 3.0.13。我有一个连接到 App Hook 的页面,它从最近的祖先那里继承了它的模板。
祖先模板未连接到 App Hook,并有一个占位符:
{# ancestor template #}
{% block content %}
{% placeholder 'content' %}
{% endblock %}
App Hook 页面之前覆盖了此块以隐藏内容占位符。现在,我需要启用这个占位符,所以我删除了覆盖并收到:
"content" placeholder not found in an apphook application. Please use a static placeholder instead.
我试过:
重新添加覆盖并更改占位符的名称:
{% block content %} {% placeholder 'new_content' %} {% endblock %}
保持继承不变并调用 super:
{% block content %} {{ block.super }} {% endblock %}
删除页面,重新添加,设置app hook,发布
所有这些都会导致相同的错误。我发现唯一可以解决此问题的方法是将 App Hook 页面的特定页面添加到 CMS_TEMPLATES
。
这不太理想。我该怎么做才能解决这个问题?
必须在直接绑定到 CMS 页面的页面上使用 placeholder
标记。如果您的模板是通过 django 应用程序呈现的,则需要使用 static_placeholder
.
A static_placeholder
也可用于在模板之间重复使用相同的内容,例如页脚。
有关静态占位符在 CMS 页面中而非外部应用程序中的使用的文档; http://django-cms.readthedocs.org/en/latest/how_to/templates.html#static-placeholder
此外,如果您还没有研究过这个,请查看有关应用中占位符的文档。 http://django-cms.readthedocs.org/en/latest/how_to/placeholders.html
在您的应用程序中使用 PlaceholderField
可以产生一些很酷的应用程序挂钩,这些挂钩可以占用您所有的 CMS 插件。具体来说,我制作了一个新闻应用程序,允许您通过工具栏 add/edit 内容,然后为所有对象提供一个 ListView
页面,在相应的 DetailView
中呈现占位符字段].