gpt4 book ai didi

python - 如何将插件添加到 Django CMS 中的静态占位符

转载 作者:行者123 更新时间:2023-11-28 16:36:33 24 4
gpt4 key购买 nike

我开始在 Django-CMS 中使用静态占位符,我想加快步伐并创建一个“页脚”静态占位符。像这样的东西:

static_placeholder = StaticPlaceholder(
name=static_placeholder_code,
code=static_placeholder_code,
creation_method=StaticPlaceholder.CREATION_BY_CODE
)
static_placeholder.save()

我尝试使用 api.add_plugin 添加 TextPlugin,但出现错误

add_plugin(
placeholder=static_placeholder,
plugin_type='TextPlugin',
language='en',
)

因为 static_placeholder 不是 Placeholder 的实例,所以 add_plugin 不起作用。在 add_plugin 函数中:assert isinstance(placeholder, Placeholder)

将 TextPlugin 添加到此静态占位符的最佳方法是什么?

最佳答案

StaticPlaceholder是一个模型,与Placeholder模型有两个外键关系,一个叫做draft,一个叫做公共(public)。两者都会给你一个 Placeholder 实例。

你可以使用:

add_plugin(
placeholder=static_placeholder.draft,
plugin_type='TextPlugin',
language='en',
)

它会起作用,但请记住,您应该始终使用 draft 作为上面的示例,这是因为当您发布时,所有来自 draft 的插件都将被复制到 public 占位符。

最后不确定您的应用程序的细节,但应该指出,当在模板中呈现静态占位符时,没有必要事先创建它。你可以这样做:

{% load cms_tags %}

{% static_placeholder 'footer' %}

然后这将获取或创建 footer 静态占位符。

关于python - 如何将插件添加到 Django CMS 中的静态占位符,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25474561/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com