Summernote-lite 数据因表单错误而消失

Summernote-lite Data Disappears With Form Error

我正在使用 Django 的 SummerNote lite 文本编辑器,它在我的安装中运行良好,除非我的表单出现错误。当出现表单错误时,SummerNote 编辑器中的数据就会消失,然后用户必须重新输入所有内容。显然不是最优的。这是关于我的 SummernoteLite 安装的 HTML:

<textarea id="summernote" name="book"></textarea>
    <script>
      $('#summernote').summernote({
        width: 755,
        height: 300,
        cursor: 22,
        fontSizes: ['8', '9', '10', '11', '12', '14', '18', '22','24', '36', '48' , '64', '82', '150'],
        toolbar: [
          ['undo', ['undo',]],
          ['redo', ['redo',]],
          ['style', ['bold', 'italic', 'underline',]],
          ['font', ['strikethrough',]],
          ['fontsize', ['fontsize']],
          ['fontSizes', ['8', '9', '10', '11', '12', '14', '18', '22','24', '36', '48' , '64', '82', '150']],
          ['color', ['color']],
          ['para', ['ul', 'ol', 'paragraph']],
        ],
      });
      $('#summernote').summernote('fontSize', 22);
    </script>

尝试确保在表单出现错误时文本编辑器中的数据仍然存在。提前感谢您的任何想法。

我最终发现将我的配置嵌入我的 HTML 给我带来了各种各样的悲伤。有些事情按预期工作,而另一些则没有那么多。我最终将我的 summernote-django 配置移动到 settings.py 文件,这解决了我遇到的许多问题,包括这个 post 的问题。如下所示在 settings.py 中定义编辑器解决了我的问题。

SUMMERNOTE_CONFIG = {
   'summernote': {
        'toolbar': [
          ['undo', ['undo',]],
          ['redo', ['redo',]],
          ['style', ['bold', 'italic', 'underline',]],
          ['font', ['strikethrough',]],
          ['fontsize', ['fontsize']],
          ['color', ['color']],
          ['para', ['ul', 'ol', 'paragraph']],
        ],
        'width': 760,
        'height': 600,
        'focus': True,
        'fontSizes': ['8', '9', '10', '11', '12', '14', '18', '22','24', '36', '48' , '64', '82', '150'],
},
}