使用django-tinymce集成tinyMCE时,应在哪里指定Referer头?
解决Django集成TinyMCE时的Referer头验证问题
问题背景
在Django应用中配置TinyMCE的CDN地址后:
# settings.py TINYMCE_JS_URL = "https://cdn.tiny.cloud/1/<my api key>/tinymce/6/tinymce.min.js"
编辑器可正常显示,但弹出提示:
我们无法验证您的域名,因为缺少Referer请求头。请阅读指南了解如何确保Referer请求头存在,以便我们为您定制编辑器体验。
已在TINYMCE_DEFAULT_CONFIG中添加'referrer_policy': 'origin',但问题仍未解决。
解决方案
以下是几个排查和修复方向:
检查Django中间件是否拦截Referer头
部分安全类中间件(第三方插件或自定义中间件)可能会移除或修改Referer头。检查项目的MIDDLEWARE配置,确认没有拦截Referer的逻辑,确保加载TinyMCE CDN脚本的请求能正常发送Referer信息。确认TinyMCE配置的正确性
确保TINYMCE_DEFAULT_CONFIG格式正确且配置被正确传递:# settings.py TINYMCE_DEFAULT_CONFIG = { # 其他配置项... 'referrer_policy': 'origin', }若手动在模板中初始化TinyMCE,需在JS配置中使用驼峰命名的参数:
tinymce.init({ selector: '#your-textarea-id', // 其他配置 referrerPolicy: 'origin' });全局设置页面Referrer策略
在HTML页面的<head>中添加meta标签,强制所有请求发送Origin级别的Referer:<meta name="referrer" content="origin">这会覆盖浏览器默认策略,确保加载TinyMCE CDN时携带必要的域名信息。
验证API Key的域名绑定
登录TinyMCE后台,确认API Key已绑定当前项目的域名(包括本地开发域名如localhost:8000),域名不匹配也会触发该验证提示。
内容的提问来源于stack exchange,提问作者Raj
相关产品推荐
相关产品推荐

