django:为某个字段禁用 tinymce

django: disable tinymce for one certain field

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

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

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

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

并将 class mceNoEditor 添加到要禁用 tinymce 的文本区域。

这是relevant documentation

在您的示例中,如果您想在 three

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

首先确保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 字段的大小,则只需在您的 attrs 选项中添加 'rows':5, 'cols':80,你想添加宽度,然后在你的属性选项中调整 'style':"width: 610px;"