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

Django中CORS Headers未添加的问题求助

Django中CORS Headers未添加的问题求助

Hey 兄弟,看到你遇到的这个CORS问题了,我之前也踩过类似的坑,给你梳理几个排查方向,应该能解决:

首先,先确认你是不是把corsheaders的中间件放对位置了!这个很关键,很多人就是中间件顺序错了导致不生效。你得把corsheaders.middleware.CorsMiddleware放在django.middleware.common.CommonMiddleware的前面,比如这样:

MIDDLEWARE = [
    'corsheaders.middleware.CorsMiddleware',
    'django.middleware.common.CommonMiddleware',
    # 其他中间件...
]

然后,检查你的CORS相关配置有没有设置到位,比如至少要允许你的前端域名访问:

CORS_ALLOWED_ORIGINS = [
    "http://localhost:3000",  # 改成你的前端实际地址
    "http://127.0.0.1:8080",
]

如果是开发环境想快速测试,也可以用CORS_ALLOW_ALL_ORIGINS = True(生产环境可别这么干,不安全)。

另外,你看到的状态码是301,这说明请求被重定向了!比如你后端地址是不是带了斜杠或者没带斜杠导致的?比如前端请求http://backend.com/api,但后端实际路由是http://backend.com/api/,这时候会触发301重定向,而重定向后的响应可能没带上CORS头,所以浏览器报错。你可以试试把请求地址补全斜杠,或者在Django里设置APPEND_SLASH = False(如果不需要自动加斜杠的话)。

最后再确认下,你已经正确安装了django-cors-headers包,没装的话先跑pip install django-cors-headers,并且INSTALLED_APPS里已经添加了'corsheaders'。

按这几步排查下来,应该能解决你的问题啦!

备注:内容来源于stack exchange,提问作者Joshua Singla

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.04.13 15:59:34