我已将TinyMCE设置为使用“管理”面板(根据Django文档中的说明http://code.djangoproject.com/wiki/AddWYSIWYGEditor)
问题是我的模型中有Inlines和其他文本区域,我不希望TinyMCE呈现
有谁知道如何将TinyMCE设置为仅加载模型中的特定字段?
由于
修改 好的,所以我安装了django-tinymce并配置了它
我在模型的admin.py中创建了以下内容,其中包含我要添加的字段:
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)
不幸的是,这仍然无效
答案 0 :(得分:9)
是的,如果有人想要这样做(并且像我一样无能为力!)
首先确保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
答案 1 :(得分:5)
该维基页面大约有五年(!),而现在通过简单地使用django-tinymce项目,可以更轻松地集成TinyMCE。
但是,既然您已经这样做了,只需简单更改textareas.js脚本即可实现您想要的效果。您链接中描述的方法使用mode: textareas
,您可以自动转换所有textareas。你想要的是这个:
mode: "exact",
element: "id_mytextarea",
其中“id_mytextarea”是您要转换的字段的HTML ID - 通常是以“id_”为前缀的模型字段的名称。请参阅TinyMCE documentation。