我试图创建一个包含多个TinyMCE编辑器实例的HTML页面。编辑器的数量因请求而异;因此我无法枚举它们并单独初始化它们。这是我的代码:
在视图.py公司名称:
from tinymce.widgets import TinyMCE
class ThreadForm(forms.Form):
subject = forms.CharField(max_length=300, widget=forms.TextInput(attrs={'size':'100'}))
body = forms.CharField(widget=TinyMCE())
class MessageForm(forms.Form):
thread_pk = forms.IntegerField()
body = forms.CharField(widget=TinyMCE())
在网址.py公司名称:
^{pr2}$在设置.py公司名称:
INSTALLED_APPS = (
...
'tinymce',
)
...
TINYMCE_DEFAULT_CONFIG = {
'selector': 'textarea',
'theme': 'advanced',
'width': 600,
'height': 300,
'theme_advanced_toolbar_location': 'top',
'theme_advanced_buttons1': 'bold,italic,underline,strikethrough,|,justifyleft,justifycenter,justifyright,justifyfull,|,bullist,numlist,|,outdent,indent,hr,|,undo,redo',
'theme_advanced_buttons2': 'cut,copy,paste,pastetext,pasteword,|,search,replace,|,link,unlink,charmap,|,visualaid,table,|,blockquote,sub,sup,|,preview,code,emotions,image',
'theme_advanced_buttons3': '',
'plugins': 'paste,table,spellchecker,searchreplace,emotions',
'theme_advanced_resizing': True,
}
会员_论坛.html公司名称:
...
{% block headers %}
{{ thread_form.media }}
{% endblock %}
...
<table id="new_thread_table">
{{ thread_form.as_table }}
</table>
...
{% for message_form in message_forms %}
<table class="new_message_table">
{{ message_form.as_table }}
</table>
...
{% endfor %}
模板中有一个ThreadForm和多个MessageForms。在
当我注释掉HTML中的MessageForms时,ThreadForm似乎可以工作,但是当我取消注释它们时,ThreadForm加载的TinyMCE皮肤不会更新(添加文本不会使undo按钮显示为启用状态),当我提交表单时,表单的body条目丢失,导致form.is_valid
失败。在
我的模板头中只有{{ thread_form.media }}
,没有消息表单。迭代:
{% for message_form in message_forms %}
{{ message_form.media }}
{% endfor %}
也没做什么好事。在
在做了一些研究之后,在加载MessageForms时,TinyMCE似乎被初始化了太多次,导致在表单提交过程中数据丢失(编辑在顶部回答:TinyMCE with Django: "This field is required")
我不知道该怎么做。任何帮助或建议将不胜感激。在
删除了Django TinyMCE并开始使用tinymce4.0.21。它现在工作得很好。在
在视图.py公司名称:
会员_论坛.html公司名称:
^{pr2}$在线程.js公司名称:
TinyMCE使用id指定哪个textarea应该是TinyMCE,id在HTML中应该是唯一的。因为我的尸体都被称为Django的尸体form.as U表格使用相同的id呈现它们。当TinyMCE尝试将编辑器分配给id时,当它到达具有相同id的第二个字段时失败。类似问题:
TinyMCE not working when loading two textareas
我换了MessageForm.body到MessageForm.body1这让线状的TinyMCE像个符咒。现在我需要遍历并更改每个MessageForm的id。但应该有更好的解决办法。TinyMCE应该能够呈现所有的文本区域。可能会把身份证全部删除?在
相关问题 更多 >
编程相关推荐