文字フィールドに非常に基本的なリッチ テキスト編集を追加したいと思います。太字、斜体、およびカスタム フォント サイズ セレクター (別のモデル フィールド設定に対して小 - 標準 - 大) のみです。最初はdjango-tinymceを使用しようとしましたが、フォームセットを使用すると、tinymceのメディアファイルがセットの最初のフォームにのみ適用され、追加したjs関数が機能しないという問題が発生しました。いずれにせよ、この small-normal-large fontsize セレクター用のカスタム ウィジェットが必要になるかもしれません (または、モデル フィールドとしてこれを行います)。
この場合、TinyMCE を使用してカスタマイズすることをお勧めしますか (そうであれば、どのように)、または既に作成したフォームを使用するより簡単な方法はありますか?
これが私のフォームにあるものです(テキストエリアのサイズを動的に変更し、テンプレートで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'