首页 > 解决方案 > Django CreateView 不适用于 TinyMCE 5

问题描述

我正在尝试将 TinyMCE 5 与 Django CreateView 一起使用,但无法通过提交按钮将其保存到数据库中;表单没有被提交,即 form_valid 没有被调用。我正在使用的 HTML 模板在没有 TinyMCE 的情况下成功地与 CreateView 和 UpdateView 一起使用,并且模型被保存到数据库中。

我的模型中的一个字段是 TextArea,所以想试试 TinyMCE。我下载了 SDK 并将其存储在本地。然后我根据文档将以下内容放在头标签中:

<script src="{% static 'tinymce/js/tinymce/tinymce.min.js' %}"></script>
<script type="text/javascript">
    tinymce.init({
        selector: '#id_description',
    });
</script>

有了这个,我可以在创建新模型和更新现有模型时看到和使用 TinyMCE 编辑器,但我不能再将新模型数据保存到数据库中。有趣的是,我仍然可以更新和保存现有数据。

由于我可以更新现有数据,但不能更新新数据,我认为这可能是一个错误。谁能确认一下。

谢谢

标签: djangotinymce

解决方案


由于 dirkgroten 指出了正确的方向,我找到了解决方案。我在浏览器的开发工具中看到的错误 - “名称='description' 的无效表单控件不可聚焦”,引导我阅读以下文章:“仅在 Google Chrome 中的表单控件无效”

将模型字段设置为空白=True,或将表单字段设置为 required=false 可以解决问题。


推荐阅读