djangocms 3.2 页面级别

Posted

技术标签:

【中文标题】djangocms 3.2 页面级别【英文标题】:djangocms 3.2 page level 【发布时间】:2016-11-13 07:16:27 【问题描述】:

我已将 django-cms 驱动的应用程序从 2.4 升级到 3.2,并希望像这样显示 djangocms 页面的子菜单:

% extends "layouts/base.html" %
% load cms_tags menu_tags %

% block 'content' %
  % with page_lvl=request.current_page.level %
    % show_sub_menu 1 page_lvl 1 'menues/cms_submenu.html' %
  % endwith %
% endblock %

但是,current_page.level 似乎是 None - 此代码在 2.4 中有效,但似乎该页面不再具有 .level 属性。去哪儿了?

【问题讨论】:

看看docs.django-cms.org/en/release-3.3.x/how_to/… - 甚至还有一个“级别”修饰符的示例。 对不起,我不明白。这是为了将页面属性映射到相应但更轻量级的节点对象 - 但是由于不再有 Page.level ,没有什么可以映射,还是我完全错过了什么? 【参考方案1】:

事实证明,DjangoCMS 从 MPTTTree to Treebeard 切换。因此,信息现在存储在 .depth 属性中,而不是 .level - 但与 1 的 .level 相比存在偏移(因此 .level 3 现在是 .depth 4)。

【讨论】:

以上是关于djangocms 3.2 页面级别的主要内容,如果未能解决你的问题,请参考以下文章

Mysql事务隔离级别

如何从页面级别获取父框架?

使用 djangocms 发布页面更改时出现“NodeAlreadySaved”错误

应用程序级别的文件的页面/块是啥意思?

如何以 90% 的页面缩放级别编写媒体查询

Express中间件 - 应用程序级别 - 路由级别 - 错误处理 - 内置 - 第三方