Summernote-lite数据因格式错误而消失

时间:2018-07-09 17:31:52

标签: django-forms django-templates wysiwyg summernote

我正在使用适用于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>

如果表单上存在错误,请尝试确保文本编辑器中的数据仍然保留。预先感谢您的任何想法。

1 个答案:

答案 0 :(得分:0)

我最终发现,将配置嵌入到HTML中会引起各种麻烦。有些事情按预期工作,而有些则没有。最终,我将我的summernote-django配置移至settings.py文件,该文件解决了我遇到的许多问题,包括这篇文章中的问题。如下所示,在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'],
},
}