django:禁用某个字段的tinymce

时间:2015-06-14 17:36:27

标签: python django tinymce field

我有很多模型,默认情况下为TextFields启用了tinymce(django-tinymce),这没关系。 但对于一个字段,我不想应用tinymce小部件(在管理界面中)。 请告诉我如何实现它?

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

2 个答案:

答案 0 :(得分:1)

是的,在您的TinyMCE.init()中,您可以:

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

并将类mceNoEditor添加到要禁用tinymce的textarea。

以下是relevant documentation

在您的示例中,如果要在three上禁用它,

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

答案 1 :(得分:0)

首先确保正确配置了tinymce设置。

tinymce.init({
         editor_deselector : /(highlight|disablemce)/
 })

在我的情况下,“ editor_deselector ”具有上述选项。

使用管理表单禁用特定textField的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字段的大小,你只需在你的attrs选项中添加'rows':5,'cols':80,,你也想添加宽度然后调整<强烈的>'风格':“宽度:610px;”在您的attrs选项中。