django-跨域支持配置
# 安装模块 |
第二种方式:
您遇到的错误是由于跨源资源共享(CORS)策略的限制。当您的前端应用(位于 http://localhost:5173)尝试访问后端API(位于 http://localhost:8000)时,浏览器会执行一个预检请求(preflight request)来检查服务器是否允许跨域请求。如果服务器没有在响应中包含适当的 Access-Control-Allow-Origin 头部,浏览器就会阻止该请求。
解决方案
由于您的 Django 项目中已经安装了 corsheaders 并且将其添加到了 INSTALLED_APPS 和 MIDDLEWARE 中,您需要确保配置了 corsheaders 以允许来自 http://localhost:5173 的请求。
步骤 1: 配置 CORS 设置
在 AccountingSystem/settings.py 文件中,添加或修改以下设置以允许特定的源或所有源进行跨域请求:
Python |
步骤 2: 确保中间件顺序正确
corsheaders.middleware.CorsMiddleware 应该放在可能修改响应的中间件之前,通常是在 django.middleware.common.CommonMiddleware 之后。从您提供的配置来看,顺序似乎是正确的。
步骤 3: 重启 Django 服务器
修改设置后,您需要重启 Django 开发服务器以使更改生效。
步骤 4: 测试
在浏览器中重新加载您的前端应用并尝试再次发起请求,检查是否还会出现 CORS 错误。
通过以上步骤,您应该能够解决因 CORS 策略导致的请求被阻止的问题。如果问题依旧存在,请检查是否有其他中间件或设置可能影响到 CORS 头部的设置。