You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

使用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

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.08 12:17:49