Django CMS page_attribute 回退到其他值?
Posted
技术标签:
【中文标题】Django CMS page_attribute 回退到其他值?【英文标题】:Django CMS page_attribute falls back to other values? 【发布时间】:2014-07-02 12:18:46 【问题描述】:我目前正在编辑所有 Django-CMS 模板继承自的基本模板。我要做的是打印 page_title 属性,如果尚未设置,请打印 block.super
。
我当前的代码是这样的:
% block title %
% page_attribute "page_title" as cms_title %
% if cms_title and cms_title.strip %
cms_title
% else %
block.super
% endif %
% endblock %
现在,当设置页面标题属性时,这将按预期工作。但是,当页面标题留空时,页面的标题属性会被使用,这是我没想到的。
这是预期的行为吗?如果是,我该如何解决这个问题?还是有其他方法可以得到我想要的结果?
我正在使用 Django-CMS 3.0
编辑
我被告知这是预期行为,但没有提供解决方法。对我的情况来说足够好的解决方案是比较page_title
和title
属性。如果它们相等,title
可能被用作后备,所以我可以假设 page_title
没有设置。
如果有人有更好的建议,请随时回答:)
【问题讨论】:
【参考方案1】:我刚刚尝试过,您可以像这样有条件地覆盖该块;
% extends 'base.html' %
% load i18n cms_tags %
% page_attribute "page_title" as cms_title %
% if cms_title %
% block title %
cms_title
% endblock %
% endif %
【讨论】:
以上是关于Django CMS page_attribute 回退到其他值?的主要内容,如果未能解决你的问题,请参考以下文章
Django-CMS - 当我指定模型时,管理员的 CMS 部分消失