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
相关推荐
用户8356290780511 分钟前
如何使用 Python 从 Word 文档中批量提取表格数据
后端·python
l***370916 分钟前
spring 跨域CORS Filter
java·后端·spring
Jerryhut27 分钟前
sklearn函数总结四——归一化和标准化
人工智能·python·机器学习·jupyter·sklearn
aiopencode28 分钟前
APP 公钥与 MD5 信息在工程中的价值 一次签名排查过程带来的经验总结
后端
带带弟弟学爬虫__28 分钟前
ks安卓—did注册
前端·javascript·vue.js·python·网络爬虫
Q_Q19632884751 小时前
python+django/flask+vue的多媒体素材管理系统
spring boot·python·django·flask·node.js·php
我要学脑机1 小时前
一个jupyter组件的信号查看工具
python·jupyter
黑客思维者1 小时前
智能配电系统用户敏感数据脱敏详细设计:从静态遮盖到动态策略
c++·python·嵌入式系统·数据脱敏·智能配电系统
陈鋆1 小时前
Langchain-Chatchat[四、RAG对话流程代码解析]
开发语言·python·langchain
ServBay1 小时前
Django 6.0 发布,新增原生任务队列与 CSP 支持
后端·python·django