2015-06-14 2 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 на.

Вот relevant documentation

В вашем примере, если вы хотите, чтобы отключить его на three,

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

Спасибо! Я понял. Просто добавил: от Джанго импортных форм класса PageForm (forms.ModelForm): три = forms.Textarea (ATTRS = { "класс": "mceNoEditor"}) класса PageAdmin (TinyMCEAdmin): модели = PAGE 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;" в ваших настройках.

Смежные вопросы