Django中的跨域

跨域CORS

我们为前端和后端分别设置了两个不同的域名

位置域名
前端 www.meiduo.site
后端 api.meiduo.site

现在,前端与后端分处不同的域名,我们需要为后端添加跨域访问的支持。

我们使用CORS来解决后端对跨域访问的支持。

使用django-cors-headers扩展

参考文档https://github.com/ottoyiu/django-cors-headers/

安装

pip install django-cors-headers

 

添加应用

INSTALLED_APPS = (
    ...
    'corsheaders',
    ...
)

 

中间层设置

MIDDLEWARE = [
    'corsheaders.middleware.CorsMiddleware',
    ...
]

 

添加白名单

# CORS
CORS_ORIGIN_WHITELIST = (
    '127.0.0.1:8080',
    'localhost:8080',
    'www.meiduo.site:8080',
    'api.meiduo.site:8000'
)
CORS_ALLOW_CREDENTIALS = True  # 允许携带cookie

 

  • 凡是出现在白名单中的域名,都可以访问后端接口
  • CORS_ALLOW_CREDENTIALS 指明在跨域访问中,后端是否支持对cookie的操作。
posted @ 2019-11-12 19:44  阿磊小哥哥呀  阅读(100)  评论(0)    收藏  举报