【问题标题】:Django cms : how to get real page idDjango cms:如何获取真实的页面ID
【发布时间】:2013-11-07 22:36:47
【问题描述】:

我用的是django cms 2.3.3,一切都很好,今天我尝试升级到2.4.2

一切似乎都很好,只是我不明白为什么一个页面可以有多个页面 id,即在管理员中,当我编辑一个页面时,我会去 /cms/page/2 但是如果我用 {{ child.id }} 在菜单中打印它的 id,则 id 是不同的,例如 114。 是不是因为我必须使用shell命令“cms moderator on”?

还有一个问题,当我进行任何修改时,我总是必须通过单击页面管理列表中的绿色勾号来验证“上次更改”。有没有办法避免这种情况?

非常感谢

【问题讨论】:

    标签: django-cms


    【解决方案1】:

    从 CMS 2.4 开始,对页面或插件所做的所有更改都需要获得批准。引入这种“审核”系统是为了让用户可以拥有草稿版本或页面和实时版本。所以这意味着对于每个页面 django-cms 都有两个页面记录,一个“live”和一个“draft”。这就是您遇到不同 id 的原因。您可以通过在 django shell 中运行来轻松验证这一点:

    from cms.models import Page
    
    print Page.objects.filter(title_set__title='yourpagetitle')
    

    上面应该打印两页。

    关于cms moderator on,这个命令 发布所有页面,并确保草稿中的所有更改都应用于实时。

    要回答您的问题,没有办法避免必须批准更改。

    【讨论】:

      猜你喜欢
      • 2023-04-02
      • 1970-01-01
      • 2011-12-04
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-02-27
      • 2016-12-18
      • 2013-04-25
      相关资源
      最近更新 更多