我想創建一個帶有多個TinyMCE編輯器實例的HTML頁面。編輯人數因要求而異;所以我不能枚舉它們並單獨初始化它們。這裏是我的代碼:具有多種形式的Django-TinyMCE
views.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())
urls.py:
urlpatterns = patterns('',
...
url(r'^tinymce/', include('tinymce.urls')),
)
settings.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,
}
member_forums.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外觀(添加文本不會使撤消按鈕顯示爲啓用即使它是),並且當我提交表單時,表單的正文條目丟失,導致form.is_valid
失敗。
我只有{{ thread_form.media }}
在我的模板頭,沒有消息框。迭代通過:
{% for message_form in message_forms %}
{{ message_form.media }}
{% endfor %}
也沒有做任何好處,要麼。
做一些研究之後,似乎TinyMCE的被初始化時MessageForms加載次數過多,導致丟失數據表單提交期間(從頂答案編輯到:TinyMCE with Django: "This field is required")
我迷路瞭如何讓這個工作。任何幫助或指針,將不勝感激。
註釋掉thread_form使得第一個message_form與TinyMCE外觀一起出現,在嘗試提交數據時沒有功能和相同的錯誤。 – Nagra
在頂部添加了一個簡單地調用tinyMCE.init({theme:「advanced」,})的腳本;當其他表單被註釋掉時沒有什麼區別。所以也許問題不是init被多次調用?似乎問題是隻有一個以上的TinyMCE字段。 – Nagra