Django解决浏览器跨域问题

跨域:

协议,域名(IP),端口  三者相同即同源,任一不同即非同源

http://localhost:8080 与 http://127.0.0.1:8080非同域

http与https非同域

端口不一致也非同域

注意:跨域问题只存在于浏览器中

 

跨域的解决方案一般有三种:

1.cors方案

2.服务端代理

3.jsonp方案

 

Cors方案:

安装插件:

pip install django-cors-headers

 

setting中注册插件:

INSTALLED_APPS = [

    'corsheaders', # 跨域支持

]

 

MIDDLEWARE = [
    'corsheaders.middleware.CorsMiddleware',  # 浏览器跨域请求设置Cors,一定要设置在commonMiddleware上方
    'django.middleware.security.SecurityMiddleware',
    'django.contrib.sessions.middleware.SessionMiddleware',
    'django.middleware.common.CommonMiddleware',
]

 

settings中添加参数设置:

CORS_ALLOW_ALL_ORIGINS = True  允许任意的客户端发送请求访问服务器

CORS_ALLOW_HEADERS = ["*"]    允许任意请求头

 

详细介绍参照: https://blog.csdn.net/zbx2010/article/details/107481686

posted @   EricYJChung  阅读(96)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 无需6万激活码!GitHub神秘组织3小时极速复刻Manus,手把手教你使用OpenManus搭建本
· Manus爆火,是硬核还是营销?
· 终于写完轮子一部分:tcp代理 了,记录一下
· 别再用vector<bool>了!Google高级工程师:这可能是STL最大的设计失误
· 单元测试从入门到精通
点击右上角即可分享
微信分享提示