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
相关推荐
2401_8384725112 分钟前
使用Python处理计算机图形学(PIL/Pillow)
jvm·数据库·python
深蓝电商API20 分钟前
aiohttp爬取带登录态的异步请求
爬虫·python
ONE_PUNCH_Ge21 分钟前
Go 语言泛型
开发语言·后端·golang
rainbow688923 分钟前
Python学生管理系统:JSON持久化实战
java·前端·python
良许Linux34 分钟前
DSP的选型和应用
后端·stm32·单片机·程序员·嵌入式
咕噜咕噜啦啦34 分钟前
ROS入门
linux·vscode·python
2301_7903009634 分钟前
用Matplotlib绘制专业图表:从基础到高级
jvm·数据库·python
不光头强41 分钟前
spring boot项目欢迎页设置方式
java·spring boot·后端
XLYcmy43 分钟前
一个用于统计文本文件行数的Python实用工具脚本
开发语言·数据结构·windows·python·开发工具·数据处理·源代码