Django cms 内容以草稿模式发布

Posted

技术标签:

【中文标题】Django cms 内容以草稿模式发布【英文标题】:Django cms content getting published in draft mode 【发布时间】:2018-07-13 00:31:04 【问题描述】:

我已经安装了 djangocms-sn-p 并在我的模板中使用了占位符,如 image 所示

我在模板页面上包含了占位符,例如

% block content %
    % placeholder "Articles" %
% endblock content %

问题:每当我更新 sn-p 时,例如新闻和更改内容,然后将其保存在实时版本中自动反映而无需单击“发布页面更改”。理想情况下,它应该只反映给登录的用户,并且在验证更改正确后我可以发布,但只要我改变内容并将其保存在实时页面上。实时是指这里的暂存环境。

【问题讨论】:

不太熟悉 djangocms 但是如果你想添加一个在草稿中发布的选项,你可以在你的模型中添加一个布尔字段来调用草稿并编辑模型管理器或在你的视图中使用过滤器。 【参考方案1】:

djangocms-sn-p 插件通过外键字段链接到现有的 sn-ps。这些 sn-ps 存在于插件之外的单独模型上。如果您想对 sn-p 内容进行直播/草稿,您可以创建一个插件来托管内容,而不是与内容的关系。

像这样:

class SnippetPlugin(CMSPlugin):
    """
    A snippet of html or a Django template
    """
    name = models.CharField(
        verbose_name=_('Name'),
        unique=True,
        max_length=255,
    )
    html = models.TextField(
        verbose_name=_('HTML'),
        blank=True,
    )

    def __str__(self):
        return self.name

【讨论】:

以上是关于Django cms 内容以草稿模式发布的主要内容,如果未能解决你的问题,请参考以下文章

Django CMS 3 检测我是不是面临“结构”或“内容”

使用 django-page-cms 显示页面内容

Django-CMS 将内容添加到第一页

Django-cms:前端编辑器未同步到管理站点中的内容

Django-cms haystack 搜索 - 占位符内容

django:CMS 的递归/树状 URL 映射?