【记录】Django解决与VUE跨域问题

1 梗概

这里记录Django与VUE的跨域问题解决方法,主要修改内容是在 Django 中。当然其他的前端项目 Django 也可以这样处理。

2 安装辅助包

复制代码
pip install django-cors-headers

3 配置 settings.py

INSTALLED_APPS = [

...

'corsheaders',

...

]

为了响应头的处理,更新MIDDLEWARE设置,确保CorsMiddleware位于适当的位置:

MIDDLEWARE = [

确保CorsMiddleware放置在可以生成响应的中间件之前,例如CommonMiddleware之前。

'corsheaders.middleware.CorsMiddleware',

'django.middleware.common.CommonMiddleware',

其他中间件...

同时可注释掉

'django.middleware.csrf.CsrfViewMiddleware',

]

可以通过设置CORS_ALLOWED_ORIGINS来指定哪些域被允许访问你的API:

CORS_ALLOWED_ORIGINS = [

"http://example.com",

"https://another-example.com",

]

若在开发阶段希望允许任何源,可以暂时设置为:

CORS_ALLOW_ALL_ORIGINS = True

开发过程中 可在settings.py 中增加下面的内容,

复制代码
CORS_ALLOW_CREDENTIALS = True
CORS_ALLOW_ALL_ORIGINS = True
CORS_ALLOW_HEADERS = ('*')

【注】在生产环境中应该明确限制来源以增强安全性

相关推荐
FunW1n2 分钟前
TMF框架与Frida脚本相关疑问及核心解析提炼
开发语言·网络·python
JaydenAI13 分钟前
[拆解LangChain执行引擎] 持久状态的提取
python·langchain
我是伪码农13 分钟前
Vue 2.11
前端·javascript·vue.js
啊阿狸不会拉杆20 分钟前
《机器学习导论》第 17 章 - 组合多学习器
人工智能·python·学习·算法·机器学习·聚类·集成学习
小lo想吃棒棒糖21 分钟前
思路启发:超越Transformer的无限上下文:SSM-Attention混合架构的理论分析
人工智能·pytorch·python
打瞌睡的朱尤24 分钟前
Vue day11商品详细页,加入购物车,购物车
前端·javascript·vue.js
dc_001227 分钟前
Java进阶——IO 流
java·开发语言·python
打瞌睡的朱尤1 小时前
Vue day12 Vue3认识,写法区分
前端·javascript·vue.js
sheyuDemo1 小时前
关于深度学习的d2l库的安装
人工智能·python·深度学习·机器学习·numpy
去码头整点薯条ing1 小时前
猿人学第二届第一题【魔改标准算法】
爬虫·python