环境要求:

支持 Python 3.7 到 3.11。

支持 Django 3.2 到 4.1。

设置:

安装库,从pip安装

python -m pip install django-cors-headers

然后将其添加到您安装的应用程序中(添加子应用):

INSTALLED_APPS  =  [ ... , "corsheaders" , ... ,
]

确保添加尾随逗号,否则您可能会收到ModuleNotFoundError (请参阅此博客文章)。

您还需要添加一个中间件类来监听响应:

MIDDLEWARE  =  [ ... , "corsheaders.middleware.CorsMiddleware" , "django.middleware.common.CommonMiddleware" , ... ,
]

CorsMiddleware应放置在尽可能高的位置(中间件列表第一位即可),尤其是在任何可以生成响应的中间件之前,例如 Django 的

或 Whitenoise 的WhiteNoiseMiddleware。如果不是之前,它将无法将 CORS 标头添加到这些响应中。

配置:

在 Django 设置中配置中间件的行为。您必须至少设置以下三个设置之一:

  • CORS_ALLOWED_ORIGINS
    CORS_ALLOWED_ORIGIN_REGEXES
    CORS_ALLOW_ALL_ORIGINS

ur列表

Example:

CORS_ALLOWED_ORIGINS = ["https://example.com","https://sub.example.com","http://localhost:8080","http://127.0.0.1:9000",
]

正则 

Example:

CORS_ALLOWED_ORIGIN_REGEXES = [r"^https://\w+\.example\.com$",
]

CORS_ALLOW_ALL_ORIGINS: bool

CORS_ALLOW_ALL_ORIGINS = True #如果True,将允许所有来源。其他限制允许来源的设置将被忽略。默认为False。

将此设置为True可能很危险,因为它允许任何网站向您的网站发出跨域请求。通常,您需要使用CORS_ALLOWED_ORIGINS或CORS_ALLOWED_ORIGIN_REGEXES限制允许的来源列表。

以前此设置称为CORS_ORIGIN_ALLOW_ALL,它仍然作为别名使用,新名称优先。

官网链接:django-cors-headers · PyPI

个人踩坑:

配置好了后死活跨不了域,最后发现是运行的manger文件路径不对。

项目启动后可以留意一下根据那个配置文件启动 ,注意细节,over。

django跨域访问相关推荐

  1. Django 多方式实现跨域访问

    一.什么是跨域 1.1 跨越介绍 跨域,是指浏览器不能执行其他网站的脚本.它是由浏览器的同源策略造成的,是浏览器对JavaScript实施的安全限制. 这里说明一下,无法跨域是浏览器对于用户安全的考虑 ...

  2. 用CORS 解决vue.js django跨域调用

    Cross-Origin Resource Sharing(CORS)跨域资源共享是一份浏览器技术的规范,提供了 Web 服务从不同域传来沙盒脚本的方法,以避开浏览器的同源策略,是 JSONP 模式的 ...

  3. Fiddler跨域调试及Django跨域处理

    ------·今天距2021年267天·------ 这是ITester软件测试小栈第109次推文 在上一篇Fiddler系列文章:Fiddler设置断点(一),主要介绍了通过Automatic Br ...

  4. Djiango django跨域 cookie session

    一.django跨域问题 1.什么时跨域 通常情况下,A网页访问B服务器资源时,满足以下三个条件其一就是跨域访问 1. 协议不同 2. 端口不同 3. 主机不同 2.django解决跨域 安装djan ...

  5. 解决django跨域问题

    一.何谓跨域?后端接口访问地址是这个,你却偏要用其他域名来访问,这就产生了跨域. 二.django后端如何处理跨域 1.安装第三方扩展 pip install django-cors-headers ...

  6. Django 跨域问题解决

    什么是跨域? 在前后端分离的项目中,跨域是一个必不可少的问题,也是一个很正常的问题,那么什么是跨域? 跨域就是基于同源策略,不同IP.域名.端口都算作跨域. 同源策略是浏览器的安全策略. 同源:同源( ...

  7. Jetty Cross Origin Filter解决jQuery Ajax跨域访问的方法

    当使用jQuery Ajax post请求时可能会遇到类似这样的错误提示 XMLHttpRequest cannot load http://xxxxxx. Origin http://xxxxxx ...

  8. [Unity WWW] 跨域访问解决方法

    什么是跨域访问 域(Domain)是Windows网络中独立运行的单位,域之间相互访问则需要建立信任关系(即Trust Relation).信任关系是连接在域与域之间的桥梁.当一个域与其他域建立了信任 ...

  9. AJAX跨域访问解决方案

    Case I. Web代理的方式 (on Server A) 即用户访问A网站时所产生的对B网站的跨域访问请求均提交到A网站的指定页面,由该页面代替用户页面完成交互,从而返回合适的结果.此方案可以解决 ...

最新文章

  1. 【错误记录】NDK 导入外部 so 动态库报错 ( java.lang.UnsatisfiedLinkError | Android Studio 配置外部 so 动态库两种方法 )
  2. 力扣——所有可能的满二叉树
  3. wlop一张多少钱_50etf期权交易一张合约多少钱?
  4. 遥感计算机分类有哪些,遥感数字图像的计算机分类.doc
  5. Android - 软件自动更新的实现
  6. ModelSim 使用笔记1
  7. 小车手app安卓版下载_古筝大师app下载-古筝大师下载v2.1.2 安卓版
  8. flex常见问题归纳
  9. Spring学习总结(33)—— 用 Spring 的 @Transactional 注解控制事务有哪些不生效的场景?
  10. time函数python_python time模块函数
  11. SpringMVC防止表单重复提交
  12. Chrome查看HTTP版本
  13. 数学系之必备参考书+数学系教材推荐
  14. 16个车辆信息检测数据集收集汇总(简介及链接)
  15. php网站服务器工具,PHP网站服务器管理软件LuManager1.1.9发布
  16. layui 勾选不联动父项 树形控件,treetable-lay
  17. ABBYY FineReader添加盖章戳记
  18. 我国芯片各细分领域龙头名单
  19. 优酷mac版视频怎么转码,如何将kux格式转成mp4格式
  20. 聚合支付第三方支付通道

热门文章

  1. 程序人生 - 猫咪的门齿有什么作用?
  2. 日记500字初中计算机课,初中日记500字
  3. 使用 K3d 在 Docker 中运行 Kubernetes 集群
  4. PDF转换PPT方法讲解
  5. static变量、static函数与普通变量、普通函数的区别
  6. 如何选择相关性分析方法
  7. IDEA 自动导入包
  8. 西门子博途系列学习笔记SCL(三)______自由口通讯(RS485轮询程序)
  9. Android11增加对dpi屏幕密度的设置
  10. 《直播从零开始》SRS 安装与部署RTMP服务