2013-08-23 33 views
2

我需要在我AdminForm只有一個字段的CKEditor的配置自訂參數(工具欄,寬度和高度)自定義的CKEditor在Django管理形式

class BlogAdminForm(forms.ModelForm): 
    def __init__(self, *args, **kwargs): 
     super(BlogAdminForm, self).__init__(*args, **kwargs) 
     self.fields['description'].widget = CKEditor(attrs={'cols': 100, 'rows': 25}) 

如何設置的CKEditor的具體參數(如«toolbarGroups» ,「寬度」,「高度」等)只有這個領域?

回答

1

屬性我發現場壓倒一切的最好方法是使用這樣一個自定義的ModelForm:

class XAdminForm(forms.ModelForm): 
    name = forms.CharField(label='Name', max_length=100, 
         widget=forms.TextInput(attrs={'size': '100'})) 
    something = forms.CharField(label='Something', max_length=SOME_MAX_LENGTH, 
          widget=forms.Textarea(attrs={'rows': '10', 'cols': '100'})) 
    note = forms.CharField(label='Note', max_length=NOTE_MAX_LENGTH, 
         widget=forms.Textarea(attrs={'class': 'ckeditor'})) 

class Meta: 
    model = x 


class XAdmin(admin.ModelAdmin): 
    model = X 
    form = XAdminForm 

    class Media: 
     js = ('/static/js/ckeditor/ckeditor.js',) 
admin.site.register(X, XAdmin) 

你可以注入額外的屬性或JS無論是在的ModelForm或的ModelAdmin需要。

該技術很容易,但顯然沒有廣泛知道或記錄。