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
相关推荐
稚辉君.MCA_P8_Java1 分钟前
RocketMQ 是什么?它的架构是怎么样的?和 Kafka 又有什么区别?
后端·架构·kafka·kubernetes·rocketmq
yolo_Yang17 分钟前
【Spring Boot】Spring Boot解决循环依赖
java·spring boot·后端
寒秋丶20 分钟前
AutoGen多智能体协作、人机交互与终止条件
人工智能·python·microsoft·ai·人机交互·ai编程·ai写作
Turnsole_y28 分钟前
pytest与Selenium结合使用指南
开发语言·python
wdfk_prog33 分钟前
结合QBoot与HPatchLite实现高效差分升级(FOTA)
java·后端·struts
舒一笑1 小时前
用数据照亮成长之路:PandaCoder Git 统计工具窗口
git·后端·intellij idea
AI量化投资实验室1 小时前
年化398%,回撤11%,夏普比5,免费订阅,5积分可查看参数|多智能体的架构设计|akshare的期货MCP代码
人工智能·python
夫唯不争,故无尤也2 小时前
AI调度框架全解析:从通用到LLM专用
python·大模型·调用框架
wudl55662 小时前
Python 虚拟环境和包管理
数据库·python·sqlite
小妖同学学AI3 小时前
Rust 深度解析:基本类型的“精确”艺术
开发语言·后端·rust