Django CORS跨域支持

服务端安装跨域组件

复制代码
pip install django-cors-headers

添加子应用,settings/dev.py,代码:

python 复制代码
INSTALLED_APPS = [
    'django.contrib.admin',
    'django.contrib.auth',
    'django.contrib.contenttypes',
    'django.contrib.sessions',
    'django.contrib.messages',
    'django.contrib.staticfiles',
    'rest_framework',
    'corsheaders', # cors跨域子应用
    
    'home',  # apps已经在上面加入到python的系统导包路径列表了,这里还是出现背景颜色,原因是python虽然找到home,pycharm不知道。所以可以鼠标右键,设置apps为mark as source root
]

注册CorsMiddleware中间件【必须写在第一个位置】,settings/dev.py,代码:

python 复制代码
MIDDLEWARE = [
    'corsheaders.middleware.CorsMiddleware',  # cors跨域的中间件
    'django.middleware.security.SecurityMiddleware',
    'django.contrib.sessions.middleware.SessionMiddleware',
    'django.middleware.common.CommonMiddleware',
    'django.middleware.csrf.CsrfViewMiddleware',
    'django.contrib.auth.middleware.AuthenticationMiddleware',
    'django.contrib.messages.middleware.MessageMiddleware',
    'django.middleware.clickjacking.XFrameOptionsMiddleware',
]

添加客户端访问服务端的白名单,设置允许哪些客户端客户端跨域访问服务端,settings/dev.py,代码:

python 复制代码
# CORS的配置信息: 
# 方案1:
# CORS_ORIGIN_WHITELIST = (
#     'http://www.leshen.cn:3000',
# )
# CORS_ALLOW_CREDENTIALS = False  # 不允许ajax跨域请求时携带cookie

# 方案2:
CORS_ALLOW_ALL_ORIGINS = True
相关推荐
云浪1 小时前
Go 并发实战:从零实现一个高并发安全的任务调度器
javascript·后端·go
苏三的开发日记1 小时前
Docker 启动顺序优化(CentOS / Ubuntu)
后端
高频因子挖掘机3 小时前
同一交易日出现重复 K 线:去重前先确认时间、来源和粒度
后端·github·api
feely02084 小时前
《我写了 31 个静态扫描插件,踩了 7 个「假绿」》
后端
进击的明明5 小时前
当AI开始“边想边干”:深入聊聊ReAct,以及如何用Python手搓一个简单Agent
python·面试·agent
橙子家5 小时前
参数校验类异常(Argument Exception)【C# Exception 详解系列一】
后端
掘金挖土5 小时前
前端手摸手跑路之 AI 应用开发(九)
前端·后端
全栈弄潮儿6 小时前
Python实战第8期:函数
后端·python·编程语言
码事漫谈6 小时前
你让 AI “尽力做”,它反而可能做不好
后端