如何在django-tinymce中启用插件?

6 投票
1 回答
1811 浏览
提问于 2025-04-18 01:21

我在我的Django项目中开始使用tinymce这个编辑器。我想启用一些和django-tinymce一起提供的插件,比如模板插件。所以在我的settings.py文件中,我添加了以下配置:

TINYMCE_DEFAULT_CONFIG = {
    'theme': 'advanced', 'relative_urls': False,
    'plugins': 'template',
    'toolbar': 'template'
}
MAX_UPLOAD_SIZE = 512000

我以为这样可以启用模板插件,但似乎没有效果。我该如何在django-tinymce中启用一个插件呢?我在其他地方没有找到相关信息。

谢谢大家的建议!

更新:

我觉得我之前对配置的理解有点偏差。我创建了一个config.js文件,里面有一些配置:

tinyMCE.init({
    theme: 'advanced',
    plugins: 'template',
    height: '350px',
    width: '1000px'
});

然后,我在MyModelAdmin.Media中链接了这个文件。(我是在django-admin中加载编辑器的。)

class MyModelAdmin(ModelAdmin):
    class Media:
        from django.conf import settings
        js = (
            settings.STATIC_URL + 'tiny_mce/config.js',
        )

config.js似乎加载得没问题,但我看不出有什么变化。

1 个回答

3

你可以把 mce_attrs 参数传递给 TinyMCE 这个小工具,用来配置 tinymce 的设置。

from django import forms
from django.contrib.flatpages.models import FlatPage
from tinymce.widgets import TinyMCE


class FlatPageForm(forms.ModelForm):

    content = forms.CharField(widget=TinyMCE(mce_attrs={
        'theme': 'advanced',
        'plugins': 'template',
        'height': '350px',
        'width': '1000px'
    }))

    class Meta:
        model = FlatPage

撰写回答