gpt4 book ai didi

python - DjangoCMS 添加子插件按钮

转载 作者:行者123 更新时间:2023-12-01 08:26:32 27 4
gpt4 key购买 nike

我有一些PeoplePlugin,可以有许多子插件PersonPlugin。我想在 PeoplePlugin 模板中添加编辑模式按钮(添加子插件),这允许我打开模式来创建新的“PersonPlugin”,与侧工具栏中的方式相同。那可能吗?谢谢。

enter image description here

最佳答案

Django CMS 提供了一个模板标签,旨在允许对模型进行前端编辑,通常通过 CMS 中的应用程序 Hook 进行集成。

例如,在创建模型实例时 {% render_model_add my_model %} 将在页面中呈现一个 + 图标 ( docs );

<h3>
<a href="{{ my_model.get_absolute_url }}">{{ my_model.title }}</a>
{% render_model_add my_model %}
</h3>

这将渲染一个 h3 ,其中包含模型的标题作为链接,假设它是详细 View 。然后,在编辑模式下,旁边会出现一个 +,您可以双击它来创建 my_model 的实例。如果您不喜欢 + 图标,您也可以使用 render_model_add_block它允许自定义标记形成添加表单的链接。

这对于应用程序内的模型来说是完美的,但如果用于插件可能会出现问题,因为这个简单的实现不会创建一个带有占位符链接的插件,也不会创建通过占位符创建插件时可能获得的其他内容。

另一个为模型带来前端编辑功能的元素是 {% render_model my_model "attr"%} ( docs ),它将在上下文中向用户呈现该模型实例的属性,并且如果您处于编辑模式,则允许您双击它来编辑对象。

这种编辑的一个例子是联系信息模型;

{% render_model_block contact_info %}
<h2>{{ instance.contact_modal_heading }}</h2>
<ul>
<li>
<strong>Phone:</strong> <a href="tel:{{ instance.phone }}">{{ instance.phone }}</a>
</li>
<li>
<strong>Email:</strong> <a href="mailto:{{ instance.email }}">{{ instance.email }}</a>
</li>
</ul>
{% endrender_model_block %}

<div>
{% render_placeholder contact_info.contact_content 500 %}
</div>

关于python - DjangoCMS 添加子插件按钮,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54200645/

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