我在一个django应用程序中嵌入了一个tinymce表单。我遵循了一些在线教程,它在基本的默认设置下运行良好。唯一的问题是,这种形式并不像我想要的那样。所以我添加了一些javascript来添加更多按钮,将它们移动到tinymce区域的顶部。
当我添加javascript时,表单不起作用。这是我单击“保存”按钮时,我的新编辑不会传回服务器。
以下内容呈现出形式:
<form action="/edit_document/{{ current_doc.id }}/" method="post">{% csrf_token %}
Name: {{ form.name }} <p>
{{ form.content }}
<input type="submit" value="SAVE" />
</form>
以上代码一直有效,直到我添加以下javascript来格式化我的tinymce编辑器。
<script type="text/javascript"> tinyMCE.init({
mode: "textareas",
theme: "advanced",
plugins: "advhr,table,emotions,media,insertdatetime,directionality",
theme_advanced_toolbar_align: "left",
theme_advanced_toolbar_location: "top",
theme_advanced_buttons1:"bold,italic,underline,strikethrough,sub,sup,separator,justifyleft,justifycenter,justifyright,justifyfull,separator,formatselect,fontselect,fontsizeselect",
theme_advanced_buttons2:"bullist,numlist,outdent,indent,ltr,rtl,separator,link,unlink,anchor,image,separator,table,insertdate,inserttime,advhr,emotions,media,charmap,separator,undo,redo",
theme_advanced_buttons3: "",
content_css: "images/style.css",
height: "350px",
width: "653px"
});
</script>
现在发生的事情是form.content
没有传回django视图,而是我得到原始内容减去任何新编辑。
这里可能发生什么?我该如何解决?
经过多次试验和错误,这是解决方案。不要将脚本放在网页的顶部以格式化tinymce元素。而是构建一个格式化小部件的特殊小部件。即使认为脚本是相同的,它也会对django如何解释该字段产生影响。
答案 0 :(得分:1)
经过多次试验和错误,这是解决方案。不要将脚本放在网页的顶部以格式化tinymce元素。而是构建一个格式化小部件的特殊小部件。即使认为脚本是相同的,它也会对django如何解释该字段产生影响。
答案 1 :(得分:1)
尝试使用此方法,而不要使用{{ form.content}}
:
{{ form.content|safe }}
希望有帮助。