DRF跨域后端解决之django-cors-headers

18次阅读

共计 682 个字符,预计需要花费 2 分钟才能阅读完成。

在使用 django-rest-framework 开发项目的时候我们总是避免不了跨域的问题,因为现在大多数的项目都是前后端分离,前后端项目部署在不同的 web 服务器上,因为我们是后端程序员,因此我要通过后端的程序实现跨域。当然如果前端框架是 Vue 的话,则可以代理服务实现跨域,我也就知道一点点,如果有兴趣,大家可以自行搜索哦。DRF 后端实现跨域第三方扩展———djangocorsheaders, 在介绍之前,我先介绍两个概念:同源策略、跨域
同源策略
同源策略 /SOP(Same origin policy)是一种约定,是浏览器的一种安全机制。这里同源需要 ” 协议 + 域名 + 端口 ” 三者都相同,否则不能进行 Ajax 访问。
跨域
不同源之间的网站通信就是跨域。
安装
pip install django-cors-headers
注册
INSTALLED_APPS = (
‘corsheaders’,
)
添加中间件
MIDDLEWARE = [
‘corsheaders.middleware.CorsMiddleware’, #最好添加至第一行
]
配置白名单
#单个配置
CORS_ORIGIN_WHITELIST =(
‘ 域名 ’,
)
#正则配置:
CORS_ORIGIN_REGEX_WHITELIST =(r’^(https?://)?(\w+\.)?jim\.com $’,)
或者直接允许所有主机跨域
CORS_ORIGIN_ALLOW_ALL = True 默认为 False
一般情况下,我们配置这些就足够,当然最为一个出名的扩展,肯定做的很完美,更多的配置,请访问:https://github.com/ottoyiu/dj…

正文完
 0