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

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

相关推荐
万粉变现经纪人8 分钟前
如何解决 pip install ta-lib 报错 本地 TA-Lib 库未安装 问题
数据库·python·scrapy·oracle·bug·pandas·pip
乔克199810 分钟前
代理连接失败的问题
python·httpx
猫咪老师11 分钟前
Day11 Python 关于线程和进程的最详细介绍!
后端·python
|华|12 分钟前
Python操作MySQL数据库
数据库·python·mysql
踩着两条虫13 分钟前
VTJ.PRO 发布 v2.3.6:开放共享模版、优化发布流程,低代码开发体验再升级
vue.js·低代码·ai编程
alphaTao16 分钟前
LeetCode 每日一题 2026/4/6-2026/4/12
python·算法·leetcode
ldybk18 分钟前
教学vue
前端·javascript·vue.js
zzwq.18 分钟前
PyMySQL 详解:从入门到实战,Python 操作 MySQL 一站式指南
开发语言·python
迷你可可小生22 分钟前
二叉树知识点
python·算法
泷羽Sec-静安22 分钟前
AICTFer一天速成指南
python·sql·ctf