Django解析跨域问题

跨域问题解决

CORS(跨域资源共享,Cross-Origin Resource Sharing)是一种跨域访问的机制,可让Ajax实现跨域访问。

其实,在服务器的response header中,加入"Access-Control-Allow-Origin: *"便可支持CORS,很是的简单,apache/nginx等怎么配置,见参考文档。

在Django中,有人开发了CORS-header的middleware只需在settings.py中做一些简单的配置即可,其他不用作任何修改,我们也不用自己手动的创建中间件对response处理了,直接用以下配置即可, 现在用起来服务器端完全开放,开启CORS,没有任何跨域烦恼

1,安装django-cors-headers库

pip install django-cors-headers -i https://pypi.tuna.tsinghua.edu.cn/simple

2,添加到应用程序中

INSTALLED_APPS = [

... ,

"corsheaders" ,

... ,

]

3,在中间件中加监听响应

CorsMiddleware 需要放在第一位,不放在第一位,可能会造成某些请求没有添加CORS。

MIDDLEWARE = [

"corsheaders.middleware.CorsMiddleware" ,

... ,

]

4,设置访问白名单

CORS_ORIGIN_ALLOW_ALL为True, 指定所有域名(ip)都可以访问后端接口, 默认为False

CORS_ORIGIN_ALLOW_ALL = True

5,设置允许携带cookie

CORS_ALLOW_CREDENTIALS = True

6,设置默认允许请求头方法。

CORS_ALLOW_METHODS = [

'GET',

'POST',

'PUT',

'PATCH',

'DELETE',

]

最后我们在测试前面的vue调用实例:

测试OK。说明跨域请求配置没问题

相关推荐
疯狂成瘾者33 分钟前
语义分块提升RAG检索精度
python
小陈工2 小时前
Python Web开发入门(十七):Vue.js与Python后端集成——让前后端真正“握手言和“
开发语言·前端·javascript·数据库·vue.js·人工智能·python
大鸡腿同学6 小时前
【成长类】《只有偏执狂才能生存》读书笔记:程序员的偏执型成长地图
后端
0xDevNull7 小时前
MySQL数据冷热分离详解
后端·mysql
A__tao7 小时前
Elasticsearch Mapping 一键生成 Java 实体类(支持嵌套 + 自动过滤注释)
java·python·elasticsearch
研究点啥好呢7 小时前
Github热门项目推荐 | 创建你的像素风格!
c++·python·node.js·github·开源软件
AI袋鼠帝7 小时前
OpenClaw(龙虾)最强开源对手!Github 40K Star了,又一个爆火的Agent..
后端
迷藏4947 小时前
**发散创新:基于Rust实现的开源合规权限管理框架设计与实践**在现代软件架构中,**权限控制(RBAC)** 已成为保障
java·开发语言·python·rust·开源
明日清晨7 小时前
python扫码登录dy
开发语言·python
bazhange8 小时前
python如何像matlab一样使用向量化替代for循环
开发语言·python·matlab