首页 > 其他分享 >DRF解决跨域问题

DRF解决跨域问题

时间:2023-01-10 19:33:58浏览次数:47  
标签:corsheaders 跨域 middleware django contrib 模块 解决 DRF

Django Rest Framework提供了corsheaders模块解决跨域问题

安装模块

pip3.9 install django-cors-headers

注册应用

# 注册 corsheaders 模块

INSTALLED_APPS = [
    ...
    'corsheaders', 
]

配置中间件


MIDDLEWARE = [
    'django.middleware.security.SecurityMiddleware',
    'django.contrib.sessions.middleware.SessionMiddleware',
    'corsheaders.middleware.CorsMiddleware', # 配置中间件,位置必须在CommonMiddleware之前
    'django.middleware.common.CommonMiddleware',
    'django.middleware.csrf.CsrfViewMiddleware',
    'django.contrib.auth.middleware.AuthenticationMiddleware',
    'django.contrib.messages.middleware.MessageMiddleware',
    'django.middleware.clickjacking.XFrameOptionsMiddleware',
]

配置参数

# 如果是DEBUG模式
if DEBUG:
    # 允许所有跨域行为
    CORS_ORIGIN_ALLOW_ALL = True

else:
    # 允许跨域的白名单
    # 域名不要以http:// 或者https:// 开头
    CORS_ORIGIN_WHITE_LIST = (
        'www.testApi.com' #信任的站点
    )
 

标签:corsheaders,跨域,middleware,django,contrib,模块,解决,DRF
From: https://www.cnblogs.com/Mickey-7/p/17041212.html

相关文章