Django中实现跨域

一、未安装django-cors-headers的需要安装

# 虚拟环境-安装 django-cors-headers 解决跨域问题:
pip3 install django-cors-headers -i https://pypi.tuna.tsinghua.edu.cn/simple

二、dev.py中添加应用

INSTALLED_APPS = (
    ...
    # 添加 django-cors-headers 使其可以进行 cors 跨域
    'corsheaders',
    ...
)

三、dev.py中添加中间件

MIDDLEWARE = [
    ...
    # 添加 django-cors-headers 使其可以进行 cors 跨域,放在最上面注册
    'corsheaders.middleware.CorsMiddleware',
]

四、dev.py中添加白名单

# CORS跨域请求白名单设置
CORS_ORIGIN_WHITELIST = (
    'http://127.0.0.1:8080',
    'http://localhost:8080',
    'http://www.meiduo.site:8080',
)
CORS_ALLOW_CREDENTIALS = True  # 允许携带cookie

五、dev.py中编辑ALLOWED_HOSTS
如果不是ALLOWED_HOSTS[*],需要进行添加

ALLOWED_HOSTS = ['api.meiduo.site', 
                 '127.0.0.1', 
                 'localhost', 
                 'www.meiduo.site']

补充:协议(http、https)、主机ip 和 端口port 都相同的两个地址是同源地址,否则是非同源地址

上一篇:Springboot处理CORS跨域请求


下一篇:Ajax请求