2010-11-29 80 views
0

我想在我的charfields中添加一些非常基本的富文本編輯,只有粗體,斜體和自定義字體大小選擇器(小正常大 - 相對於另一個模型字段設置)。起初,我嘗試使用django-tinymce,但是當使用formset時,我遇到了一些問題,即tinymce的媒體文件僅適用於該集合中的第一個表單,而我添加的js函數不起作用。無論如何,我可能需要一個自定義小工具(或者將其作爲模型字段)。Richtext在Django應用程序

是否建議用戶TinyMCE並嘗試在這種情況下自定義它(如果是這樣,如何),還是有更直接的方式去使用我已經創建的窗體?

下面是我在我的形式(動態改變textarea的大小,並調用JS函數模板來限制字符):

text=forms.CharField(max_length = 1000, widget=forms.widgets.Textarea()) 
def __init__(self, *args, **kwargs): 
    size = kwargs.pop('size') 
    maxChars = kwargs.pop('maxChars') 
    super(MyForm, self).__init__(*args, **kwargs) 
    self.fields['text'].widget.attrs['onkeypress'] = 'return textCounter(this, this.form.counter, %d);' % maxChars 
    self.fields['text'].widget.attrs['rows'] = size 
    self.fields['text'].widget.attrs['cols'] = '40' 

回答

0

您可以使用CKEditor的,你可以沒有任何django-啓用應用程序。另一種選擇是(非常)基本的輝光編輯器,請參閱BBC的輝光主頁。

Personnally我不會在你的窗體btw中包含該javascript,但將其包含在模板中。

+0

好吧,與ckeditor一起,這似乎是在做伎倆,很好的一個。假設在這種情況下,因爲我將在模板中定義textareas,而不是通過表單窗口小部件,所以我會將所有javascript都移動到模板中。我是一個新手,所以仍然習慣於如何玩模板標籤。感謝您的建議! – HdN8 2010-11-29 20:09:10