djangocms 3.2 页面级别

djangocms 3.2 page level

我已经将 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 属性。它去了哪里?

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