Django Ckeditor 将richtextfield中的不完整数据保存到cookies或服务器

Posted

技术标签:

【中文标题】Django Ckeditor 将richtextfield中的不完整数据保存到cookies或服务器【英文标题】:Django Ckeditor Save incomplete data from richtextfield to cookies or server 【发布时间】:2021-05-29 06:02:12 【问题描述】:

在我看来,标题是不言自明的。基本上假设用户填写 ckeditor 的richtextfield 如下:

#app/models.py
from django.db import models
from ckeditor.fields import RichTextField

class App_Model(models.Model):
    content = RichTextField()

现在假设用户离开了页面。内容不会被保存。我希望保存内容,无论是 cookie 还是服务器,以便用户可以返回并从他离开的地方继续。我将如何做到这一点,最好以最简单的方式。

谢谢。

【问题讨论】:

【参考方案1】:

保存内容的一种方法是使用CKEditor-AutoSave-Plugin CKEditor 4 的插件,将数据保存在 html5 LocalStorage(客户端)中。

您只需下载该插件并将其添加到 django-ckeditor 模块。

Download 并将CKEditor-AutoSave-Plugin 解压到您的静态目录中。确保将存档中的 autosave 文件夹放入此目录:

<static-dir>/ckeditor/ckeditor/plugins/autosave

&lt;static-dir&gt; 指的是静态文件的目录。这可以直接在您的应用文件夹中(在 admin.py、apps.py 等旁边)。更多详情请查看Django documentation。

通过将其添加到您的 settings.py 来配置您的 CKEditor

CKEDITOR_CONFIGS = 
    'default': 
        'extra_plugins': ['autosave'],  # Use the 'autosave' plugin
        'autosave':                    # Configuration on the autosave plugin
            'autoLoad': True            # Don't ask for confirmation to restore
        
    ,

有关更多配置选项,请查看GitHub 上的文档。

【讨论】:

以上是关于Django Ckeditor 将richtextfield中的不完整数据保存到cookies或服务器的主要内容,如果未能解决你的问题,请参考以下文章

带有普通 Django 表单和引导程序的 Django-CKEditor

Django cms 文本编辑器 (CKEditor) 插件

Django Ckeditor 的 Youtube 插件已更新

将ckeditor应用于textarea

Django中添加富文本编辑器

Django中添加富文本编辑器