Tim*_*ony 8 django tinymce django-admin
我已经设置了TinyMCE来使用Admin面板(根据Django Docs 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)
Run Code Online (Sandbox Code Playgroud)
不幸的是,这仍然无效
是的,如果有人想要这样做(并且像我一样无能为力!)
首先确保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
Run Code Online (Sandbox Code Playgroud)
然后在您的模型的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
Run Code Online (Sandbox Code Playgroud)
那个维基页面大约有五年了(!),现在通过简单地使用django-tinymce项目,可以更轻松地集成TinyMCE .
但是,由于您已经这样做了,只需对textareas.js脚本进行简单的更改即可实现所需.链接中描述的方法使用mode: textareas,当您注意到时,会自动转换所有textareas.你想要的是这个:
mode: "exact",
element: "id_mytextarea",
Run Code Online (Sandbox Code Playgroud)
其中"id_mytextarea"是您要转换的字段的HTML ID - 通常是前缀为"id_"的模型字段的名称.请参阅TinyMCE文档.
| 归档时间: |
|
| 查看次数: |
9402 次 |
| 最近记录: |