首页 > 其他 > 详细

Django2支持跨域方法

时间:2020-02-02 13:52:09      阅读:82      评论:0      收藏:0      [点我收藏+]

让django支持跨域的原理比较简单,让django的http返回头中支持来源域名就OK了,通过安装django-cors-headers插件并设置相关参数即可实现,方法如下:

 

1.安装django-cors-headers

pip3 install django-cors-headers

 

2.修改settings.py

  • INSTALLED_APPS中增加
    INSTALLED_APPS = [
        ‘django.contrib.admin‘,
        ‘django.contrib.auth‘,
        ‘django.contrib.contenttypes‘,
        ‘django.contrib.sessions‘,
        ‘django.contrib.messages‘,
        ‘django.contrib.staticfiles‘,
        ‘corsheaders‘,                  #新增项
    ]

     

  • MIDDLEWARE中增加
    MIDDLEWARE = [
        ‘django.middleware.security.SecurityMiddleware‘,
        ‘django.contrib.sessions.middleware.SessionMiddleware‘,
        ‘corsheaders.middleware.CorsMiddleware‘,             #新增项
        ‘django.middleware.common.CommonMiddleware‘,         
        ‘django.contrib.auth.middleware.AuthenticationMiddleware‘,
        ‘django.contrib.messages.middleware.MessageMiddleware‘,
        ‘django.middleware.clickjacking.XFrameOptionsMiddleware‘,
    ]

     

  • 文件末尾增加如下行设置

    # 跨域增加忽略
    CORS_ALLOW_CREDENTIALS = True
    CORS_ORIGIN_ALLOW_ALL = True
    CORS_ORIGIN_WHITELIST = (
        ‘*‘
    )

     

3.验证跨域是否生效

从localhost:8080网站通过axios发送跨域请求到工作于8888端口的django,请求的返回头中增加了如下内容:

  Access-Control-Allow-Credentials: true

  Access-Control-Allow-Origin: http://localhost:8080

axios工作正常~

 

 

Django2支持跨域方法

原文:https://www.cnblogs.com/wurijie/p/12251652.html

踩
(0)
赞
(0)
   
举报
评论 一句话评论(0)
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!