2015-06-14 60 views
1

我有很多模型的默認情況下啓用了tinymce(django-tinymce)用於TextFields,這沒關係。 但是對於一個字段,我不想應用tinymce小部件(在管理界面中)。 請告訴我該如何實施?django:禁用某個字段的tinymce

class Page(models.Model): 
     one = models.TextField() 
     two = models.TextField() 
     three = models.TextField() 

回答

1

是的,在你TinyMCE.init(),你會怎麼做:

tinyMCE.init({ 
     ... 
     editor_deselector : "mceNoEditor" 
}); 

和類mceNoEditor添加到您要禁用TinyMCE的textarea的。

這裏是relevant documentation

在您的例子,如果你想禁用它three

three = models.TextField(widget=form.Textarea(attrs={"class": "mceNoEditor"})) 
+0

謝謝!我明白了。只是說: 從Django的進口形式 類PageForm(forms.ModelForm): 3 = forms.Textarea(ATTRS = { 「類」: 「mceNoEditor」}) 類PageAdmin(TinyMCEAdmin): 模型=頁面 form = PageForm – Aleksandr

0

首先確保TinyMCE的設置是否正確配置。

tinymce.init({ 
     editor_deselector : /(highlight|disablemce)/ 
}) 
在我的情況

editor_deselector」 有上面的選項。

使用管理窗體禁用特定文本字段的tinymce選項。 首先,你需要導入:

from django.forms import TextInput, Textarea 
from django.db import models 

然後

class MyForm(forms.ModelForm): 
    class Meta: 
     model:MyModel 
    three = forms.CharField(widget=forms.Textarea(attrs={'rows':5, 'cols':80, 'style':"width: 610px;","class": "disablemce"})) 

class MyModelAdmin(ModelAdmin): 
    model: MyModel 
    form: MyForm 

如果你要調整你的textarea的領域,那麼你只需添加'行':5, '的cols':80,在你的attrs選項中,你也想增加寬度,然後調整'style':「width:610px;」在您的attrs選項。