Django cms:如何获得真正的页面ID

时间:2013-10-28 23:25:51

标签: django-cms

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

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

还有一个问题,当我做任何修改时,我总是要通过点击管理页面列表中的绿色勾选来验证“最后的更改”。有没有办法避免这种情况?

非常感谢

1 个答案:

答案 0 :(得分:0)

从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,此命令  发布所有页面并确保草稿中的所有更改都应用于实时。

要回答您的问题,不能避免必须批准更改。