如何在django-tinymce包中配置tinymce.init自定义参数
配置django-tinymce的tinymce.init个性化参数
django-tinymce支持两种方式设置tinymce.init的个性化参数,全局配置或局部自定义,具体操作如下:
1. 全局默认配置(settings.py)
在项目的settings.py中添加TINYMCE_DEFAULT_CONFIG字典,直接写入tinymce.init支持的所有参数,所有编辑器都会默认使用这些配置:
TINYMCE_DEFAULT_CONFIG = { 'height': 400, 'width': '100%', 'plugins': 'advlist autolink lists link image charmap print preview anchor code table', 'toolbar': 'undo redo | formatselect | bold italic backcolor | alignleft aligncenter alignright alignjustify | bullist numlist outdent indent | link image table | code | removeformat', 'menubar': 'file edit view insert format tools table', 'branding': False, # 隐藏TinyMCE品牌标识 'statusbar': False, # 隐藏底部状态栏 'content_css': '/static/css/tinymce_custom.css', # 绑定自定义样式文件 }
2. 模板中局部自定义
如果需要给某个特定编辑器单独配置,在加载编辑器的模板中,添加自定义的初始化脚本覆盖默认配置:
<!-- 先加载django-tinymce的媒体文件 --> {{ form.media }} <!-- 自定义tinymce.init配置 --> <script> tinymce.init({ selector: '#id_your_field_name', # 替换为你的表单字段ID height: 500, plugins: 'code image table', toolbar: 'undo redo | bold italic | image table | code', menubar: false, branding: false }); </script>
3. Django Admin中单独配置
如果是在Admin后台使用tinymce,可以在admin.py中针对特定模型字段自定义配置:
from django.contrib import admin from django.db import models from tinymce.widgets import TinyMCE from .models import YourModel class YourModelAdmin(admin.ModelAdmin): formfield_overrides = { models.TextField: { 'widget': TinyMCE( attrs={'cols': 80, 'rows': 40}, mce_attrs={ 'plugins': 'link image code table', 'toolbar': 'undo redo | bold italic | link image table | code', 'branding': False, 'statusbar': False } ) } } admin.site.register(YourModel, YourModelAdmin)
注意事项
- 所有tinymce官方文档中
tinymce.init支持的参数,都可以直接用到上述配置中 - 局部配置的优先级高于全局配置,会覆盖全局的对应参数
- 自定义样式文件需要放在Django的静态文件目录中,并确保
STATIC_URL配置正确
内容的提问来源于stack exchange,提问作者seyed abas alavi
相关产品推荐
相关产品推荐

