Django解决CORS跨域问题

首先,安装 django-cors-headers:

pip install django-cors-headers

然后在 settings.py 中修改:

INSTALLED_APPS = [
    # 其他应用
    'corsheaders',
]
MIDDLEWARE = [
    'corsheaders.middleware.CorsMiddleware',
    'django.middleware.common.CommonMiddleware',
    # 其他中间件
]
CORS_ORIGIN_ALLOW_ALL = True  # 仅用于测试,生产环境请谨慎使用
# 或者使用更精确的配置
# CORS_ORIGIN_WHITELIST = ["http://localhost:8080", "http://127.0.0.1:8080"]
  • django-cors-headers 库可以帮助你在 Django 应用中轻松管理 CORS 策略。
  • 将 corsheaders.middleware.CorsMiddleware 放在 MIDDLEWARE 列表的适当位置,确保它在处理请求的早期阶段进行 CORS 检查。
  • CORS_ORIGIN_ALLOW_ALL = True 允许来自任何源的请求,这在开发和测试阶段可能很方便,但在生产环境中可能会暴露安全风险,因为它允许任何网站向你的后端发送请求。
  • CORS_ORIGIN_WHITELIST 可以精确地指定允许哪些源的请求,将 Vue 前端的地址添加到这个列表中,这样只有这些源的请求才会被允许,提高安全性。

请按照上述步骤修改 Django 后端的配置,解决 CORS 问题。如果在修改后仍然存在问题,检查是否有其他中间件或视图函数导致请求重定向,并确保预检请求的响应符合 CORS 策略。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值