本文介绍如何彻底屏蔽 django admin 中 `richtextuploadingfield` 所加载的 ckeditor 4 显示的“版本不安全”升级提醒(如 `ckeditor 4.22.1 is not secure`),通过正确配置 `config.versioncheck = false` 实现静默关闭,无需升级底层编辑器。
CKEditor 4 自 4.22.0 版本起引入了内置的安全版本检查机制,会在编辑器初始化时向官方 CDN 发起请求,比对当前版本与最新 LTS 版本,并在工具栏右下角弹出醒目的黄色警告提示(例如:“This CKEditor 4.22.1 version is not secure. Consider upgrading to the latest one, 4.24.0-lts.”)。该行为无法通过 Django-CKEditor 的 Python 层设置(如 CKEDITOR_UPDATE_NOTIFICATION = False)禁用,也无法靠 "ignoreUpdates": true 或 "updateCheck": false 等无效键名解决——因为 CKEditor 4 原生配置中对应的属性名为 versionCheck,且其值必须为布尔类型 false。
✅ 正确解决方案是在 CKEDITOR_CONFIGS 的对应配置项中,直接注入原生 JavaScript 配置字段 versionCheck: false:
# settings.py CKEDITOR_CONFIGS = { "default": { "skin": "moono", "toolbar": "Custom", "allowedContent": True, "extraAllowedContent": "object[id,name,width,height];", "extraPlugins": "iframe", "iframe_attributes": { "sandbox": "allow-scripts allow-same-origin allow-popups allow-presentation allow-forms", "allowfullscreen": "", "loading": "lazy", "referrerpolicy": "no-referrer-when-downgrade", }, # ? 关键:禁用版本检查(必须小写驼峰,布尔值 false) "versionCheck": False, "toolbar_Custom": [ # ...(保持原有 toolbar 配置不变) ], "language": "en", } }
⚠️ 注意事项:
完成配置后,重启 Django 开发服务器,进入 Admin 页面打开任意含 RichTextUploadingField 的表单,即可确认右下角警告已完全消失。该方案兼容 django-ckeditor==6.7.0 及所有基于 CKEditor 4.x 的版本,稳定可靠,是目前最简洁、无副作用的禁用方式。