Django Admin: добавить TinyMCE только в определенное текстовое поле?

Я настроил TinyMCE для работы с панелью администратора (согласно инструкциям в документах Django http://code.djangoproject.com/wiki/AddWYSIWYGEditor)

проблема в том, что у меня есть строки и другие текстовые области в моей модели, для которых я не хочу, чтобы TinyMCE отображал

кто-нибудь знает, как установить TinyMCE для загрузки только для определенных полей в моей модели?

спасибо

редактировать Итак, я установил django-tinymce и настроил его

Я создал следующее в admin.py из модели с полем я хочу добавить tinymce в:

class FooAdminForm(forms.ModelForm):
    class Meta:
        model = Foo

    def __init__(self, *args, **kwards):
        self.bar = forms.TextField(widget=TinyMCE(attrs={'cols': 80, 'rows': 30}))
        super(FooAdminForm, self).__init__(*args, **kwargs)

к сожалению, это все еще не работает

2 ответов


правильно, если кто-то хочет это сделать (и так же невежествен, как и я!)

сначала убедитесь, что настройки tinymce верны (я пренебрег этим!)

TINYMCE_JS_ROOT = '/media/tiny_mce/'
TINYMCE_JS_URL = os.path.join(MEDIA_URL, "tiny_mce/tiny_mce_src.js")
TINYMCE_DEFAULT_CONFIG = {
    'plugins': "table,spellchecker,paste,searchreplace",
    'theme': "advanced",
}
TINYMCE_SPELLCHECKER = True

затем в admins.py вашей модели

from django.forms import *
from django.db.models import *
from tinymce.widgets import TinyMCE

class ProductionForm(forms.ModelForm):
    some_field = forms.CharField(widget=TinyMCE(attrs={'cols': 80, 'rows': 10}))

    class Meta:
        model = Production

class ProductionAdmin(admin.ModelAdmin):
    form = ProductionForm

этой странице wiki около пяти лет (!) и в эти дни есть гораздо более простой способ интеграции TinyMCE, просто используя django-tinymce.

однако, поскольку вы уже сделали это таким образом, вы можете достичь того, чего вы хотите с простым изменением текстовой.сценарий js. Метод, описанный в вашей ссылке использует mode: textareas, который, как вы заметили, автоматически преобразует все текстовые области. То, что вы хотите это:

mode: "exact",
element: "id_mytextarea",

где "id_mytextarea" - это HTML-идентификатор поля, которое вы хотите преобразовать, обычно имя поля модели с префиксом"id_". Вижу документация TinyMCE.