gpt4 book ai didi

Django-cms自定义插件中的PlaceholderField,用于Placeholder,不可前端编辑

转载 作者:行者123 更新时间:2023-12-02 08:06:17 25 4
gpt4 key购买 nike

我在 django 1.3 上使用 2.2 django-cms,在 django 1.4 上使用 2.3 django-cms git repo,并且我注意到,如果我在模型中包含一个 PlaceholderField,如下所示:

##books/models.py
class Book(models.Model):
...
description = cmsmodels.PlaceholderField('book_description', null=True, blank=True)

class BookCMSPluginModelItem(models.Model):
t_book = models.ForeignKey(Book)
...

class BookCMSPluginModel(CMSPlugin):
featured_books = models.ManyToManyField(BookCMSPluginModelItem)
template = models.CharField(max_length=256, choices= settings.BOOKS_TEMPLATES, default=settings.BOOKS_TEMPLATES[0]);

并让我的 CMS 插件像这样:

##books/cms_plugins.py
class BookCMSPlugin(CMSPluginBase):
model = BookCMSPluginModel
name = _("Books Plugin")

def render(self, context, instance, placeholder):
self.render_template = instance.template;
context['instance'] = instance;
return context

然后在我的模板中的某个时刻,我发现我可以执行以下操作:

{% for mitem in instance.featured_books.all %}
<!-- ...... -->
<div>{% render_placeholder mitem.t_book.description %}</div>
{% endfor %}

但是,在前端编辑器中,我添加了新插件,并且描述字段确实显示为占位符,但是,当我将鼠标悬停在它上面时,我放置插件的外部占位符处于事件状态,并且我无法直接选择内部占位符。它在管理站点中运行得很好,因为我可以使用 SemanticEditor 以及我想使用的任何其他内容添加内容。 然而,在前端,JavaScript 存在一个令人沮丧的问题,它似乎阻止用户添加或编辑内部占位符。

我应该注意,我在这里遵循了精彩的 django-cms 文档:http://docs.django-cms.org/en/latest/extending_cms/placeholders.html ,但该网站仅解决了在专门设计的页面中显示模型的情况下的问题,不幸的是没有使用自定义 django-cms 插件的模板。

最佳答案

this thread on GitHub一位 django-cms 开发人员表示,Django CMS 2.2 中没有插件中插件架构。

我已经在最新的开发分支上进行了尝试,它现在可以工作了。

关于Django-cms自定义插件中的PlaceholderField,用于Placeholder,不可前端编辑,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11104716/

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