也许我不明白一些简单的事情。我正在阅读第二天的文档,不明白如何在第三方插件中使用 django-cms 中的 ckeditor。
这里写着:
用作模型字段如果您想在自己的模型字段上使用小部件,您可以!只需像这样导入提供的 HTMLField:
from djangocms_text_ckeditor.fields import HTMLField
并在您的模型中使用它,就像 TextField 一样:
class MyModel(models.Model):
myfield = HTMLField(blank=True)
此字段不允许您在文本编辑器中嵌入任何其他 CMS 插件。插件只能嵌入占位符字段中。如果您需要允许在 HTML 字段中嵌入其他插件,请将 HTMLField 转换为 Placeholderfield 并将占位符配置为仅接受 TextPlugin。有关在 CMS 之外使用占位符的更多信息,请参阅:
http://docs.django-cms.org/en/latest/how_to/placeholders.html
目前 HTMLField 正在工作,阅读说明后,我不明白如何在完全集成到 django-cms 的第三方插件中“将 HTMLfield 转换为占位符并将占位符配置为仅接受 TextPlugin”。我从未在第三方插件中创建占位符。
我的目标是在第三方插件中设置一个文本框,我可以在其中使用格式化功能编辑文本。我正在使用最新的 Django-CMS。默认情况下,它有 djangocms_text_ckeditor。
谢谢!
模型.py:
[..]
from djangocms_text_ckeditor.fields import HTMLField
class Question(models.Model):
content = HTMLField(blank=True)
[..]
模板
[..]
{% load cms_tags %}
[..]
{% for field in form %}
{{ field }}
{% endfor %}
[..]
我的文本区域如下所示:
<textarea name="content" cols="40" rows="10" class="CMS_CKEditor" data-ckeditor-basepath="/static/djangocms_text_ckeditor/ckeditor/" id="id_content"></textarea>
我注意到通过管理面板可以为这个新的文本区域使用编辑器,但用户的网站上没有任何变化。视觉上它是一个普通的文本区域