【记录】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 = ('*')

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

相关推荐
郝学胜-神的一滴几秒前
人工智能发展漫谈:从专家系统到AIGC,再探深度学习核心与Pytorch入门
人工智能·pytorch·python·深度学习·算法·cnn·aigc
ByteCraze1 分钟前
Vue 递归组件实战:手写一个文件/文件夹树形组件
javascript·vue.js·ecmascript
老杨_QQ1222090174 分钟前
对量化交易未来的思考
人工智能·python·金融
nananaij4 分钟前
【LeetCode-03 判断根结点是否等于子结点之和 python解法】
python·算法·leetcode
老师好,我是刘同学8 分钟前
归并排序原理与Python实现详解
python·排序算法
Dxy123931021618 分钟前
PyTorch的CyclicLR详细介绍:给模型训练装上“涡轮增压”
人工智能·pytorch·python
yangyanping2010822 分钟前
Vue入门到精通七之关键字const
前端·javascript·vue.js
那小子、真烦24 分钟前
OpenClaw Skill 编写规范 与示例
python
nananaij34 分钟前
【LeetCode-02 最小偶倍数 python解法】
python·算法·leetcode
英英_43 分钟前
Selenium 常用浏览器操作全解析
python·selenium·测试工具