Docker + Django跨域解决方案
什么是Django

Django 是一个开源的高级 Python Web 框架,它鼓励快速开发并遵循可重用和可维护的实践。Django 是在 MTV(模型-模板-视图)模式的基础上设计的,这个模式类似于但不同于 MVC(模型-视图-控制器)模式。Django 由 Adrian Holovaty 和 Simon Willison 在 2005 年创建,并以他们的新闻网站框架为基础开发而成。
什么是 django-cors-headers
django-cors-headers 是一个 Django 应用程序,它简化了跨源资源共享(CORS)的配置。CORS 是一种机制,它使用额外的 HTTP 头来告诉浏览器允许哪些类型的跨源请求。启用 CORS 可以使得一个域上的 Web 应用向另一个域上的服务器发出请求。
安装
这里主要是采用 django-cors-headers 来实现,进入Docker终端,执行pip安装命令:
pip install django-cors-headers

待安装完成后,进入项目根目录并打开settings.py文件
添加 ‘corsheaders’ 到 INSTALLED_APPS 并配置中间件:
INSTALLED_APPS = [# ...'corsheaders',# ...
]
然后添加 django-cors-headers 插件到 MIDDLEWARE 数组中:
MIDDLEWARE = [# ...'corsheaders.middleware.CorsMiddleware',# ...
]
最后再添加 CORS 配置项:
CORS_ORIGIN_ALLOW_ALL = True # 允许所有域名进行跨域请求
CORS_ALLOW_CREDENTIALS = True # 允许跨域访问Cookie
您也可以设置 CORS_ALLOWED_ORIGINS 来限制允许跨域请求的特定域名
django-cors-headers 可配置项
CORS_ORIGIN_ALLOW_ALL:
如果设置为 True,则允许所有来源进行跨域请求,不使用白名单。
默认值为 False。
CORS_ORIGIN_WHITELIST:
一个包含允许进行跨站点 HTTP 请求的域名的列表。
默认为空列表,即不添加任何来源到白名单。
CORS_ORIGIN_REGEX_WHITELIST:
一个正则表达式列表,用于匹配允许进行跨站点 HTTP 请求的域名。
默认为空列表。
CORS_URLS_REGEX:
一个正则表达式,用于指定哪些 URL 应该应用 CORS 策略。
默认为 r’^..$',即匹配所有 URL。
CORS_ORIGIN_ALLOW_ALL:
如果设置为 True,则允许所有来源进行跨域请求。
CORS_ALLOW_METHODS:
一个包含允许的 HTTP 方法的列表。
默认为 (‘GET’,)。
CORS_ALLOW_HEADERS:
一个包含允许的 HTTP 请求头的列表。
默认为 (‘accept’, ‘accept-encoding’, ‘authorization’, ‘content-type’, ‘dnt’, ‘origin’, ‘user-agent’, ‘x-csrftoken’, ‘x-requested-with’)。
CORS_EXPOSE_HEADERS:
一个包含需要在响应中暴露给客户端的非标准 HTTP 头的列表。
CORS_PREFLIGHT_MAX_AGE:
预请求(OPTIONS 请求)的有效时间,单位为秒。
默认不设置,表示不缓存预请求结果。
CORS_ALLOW_CREDENTIALS:
如果设置为 True,则允许跨域请求携带凭证(如 cookies)。
默认为 False。
CORS_REPLACE_HTTPS_REFERER:
如果设置为 True,则在请求头 Referer 中使用 HTTPS 协议替换 HTTP 协议。
CORS_USE_CREDENTIALS:
如果设置为 True,则请求将使用凭证(如 cookies)。
默认为 False。
相关文章:
Docker + Django跨域解决方案
什么是Django Django 是一个开源的高级 Python Web 框架,它鼓励快速开发并遵循可重用和可维护的实践。Django 是在 MTV(模型-模板-视图)模式的基础上设计的,这个模式类似于但不同于 MVC(模型-视图-控制器)模…...
Maven 插件使用
1.spring-boot-maven-plugin 我们直接使用 maven package (maven自带的package打包功能),打包Jar包的时候,不会将该项目所依赖的Jar包一起打进去,在使用java -jar命令启动项目时会报错,项目无法正常启动。…...
【HMGD】GD32/STM32 DMA接收不定长串口数据
单片机型号:GD32F303系列 CubeMX配置 配置串口参数 开启DMA 开启中断 示例代码 使用到的变量 uint8_t RX_Buff_FLAG 0; uint8_t RX_Buff[300] {0}; uint8_t TX_Buff[300] {0};串口接收空闲函数 // 串口接收空闲函数 void HAL_UARTEx_RxEventCallback(UART_H…...
局域网手机端远程控制手机
局域网手机端远程控制手机 随着科技的进步和智能设备的普及,远程控制技术在日常生活与工作中的应用越来越广泛。其中,局域网内的手机端远程控制手机技术,因其便捷性和实用性,受到了众多用户的关注。本文将简要介绍该技术及其应用…...
如何在OpenWrt软路由中增加一个新功能
为了在OpenWrt中增加一个新的功能,并使其支持 UCI 配置,我们可以创建一个简单的C语言服务,例如一个简单的日志服务。此服务将记录到日志文件中,并支持通过 UCI 配置启用或禁用日志功能。以下是详细的步骤和代码示例。 1 创建服务…...
【linux】vmtouch文件缓存管理工具
目录 vmtouch简介 用法 例子 统计文件或者目录在缓存中的记录 缓存文件到内存 其他类似工具 vmtouch简介 vmtouch是用c语言编写的文件缓存管理工具,适用用于所有类Unix系统。 作用: 1,查看文件系统缓存情况 2,将文件或目…...
论文阅读:The Unreasonable Ineffectiveness of the Deeper Layers 层剪枝与模型嫁接的“双生花”
作者实证研究了针对流行的开放式预训练 LLM 系列的简单层修剪策略,发现在不同的 QA 基准上,直到去掉一大部分(最多一半)层(Transformer 架构)后,性能的下降才会降到最低。为了修剪这些模型&…...
Python批量备份华为设备配置到FTP服务器
Excel表格存放交换机信息: 备份文件夹效果图: Windows系统配置计划任务定时执行python脚本: Program/script:C:\Python\python.exe Add arguments (optional): D:\Python_PycharmProjects\JunLan_pythonProje…...
Java虚拟机(JVM)中确保资源及时释放的策略
在Java虚拟机(JVM)中,内存管理主要是通过垃圾回收(Garbage Collection, GC)来自动处理的。Java开发者通常不需要(也不应该)显式地释放对象内存,因为JVM的垃圾回收器会自动处理不再使…...
04-Fortran基础--Fortran数组和矩阵运算
04-Fortran基础--Fortran数组和矩阵运算 fortarn中对数组和矩阵的主要操作和内置运算包括: 数组的声明和初始化:fortarn中可以通过声明和初始化来创建数组。例如: integer :: my_array(3) [1, 2, 3] ! 声明一个包含3个整数的数组并初始化数…...
el-select选项框内容过长
利用popper-class实现选项框内容过长,截取显示功能: <el-select popper-class"popper-class" :popper-append-to-body"false" v-model"value" placeholder"请选择"><el-optionv-for"item in opt…...
K8S面试题学习5
参考K8S面试题(史上最全 持续更新)_kubernetes常见面试题-CSDN博客做的个人总结,规划是每天看10题,thx! 1. 请详述kube-proxy原理? 每个node节点都会运行一个kube-proxy的进程,核心功能是将service的访问…...
字符以及字符串函数
字符以及字符串函数 求字符串长度strlen 长度不受限制的字符串函数strcpystrcatstrcmp 长度受限制的字符串函数strncpystrncatstrncmp 字符串查找strstrstrtok 错误信息报告strerror 字符分类函数字符转换函数tolowertoupper 内存操作函数memcpymemmovememcmpmemset 这篇文章注…...
记录解决问题--redis ssl连接
1.问题场景 springboot连接redis启动报错,感觉是没连上redis,本地是正常启动的,但是本地不是ssl连接。 2.redis ssl连接知识 ①一般不开启ssl的连接,直接连接即可,有密码输密码。 ②不受信的ssl连接,也就…...
买卖股票的最佳时机
dp[i][0] 表示第i天持有股票所得最多现金,相当于买的价格最低,卖的价格最高 持有股票状态为0,不持有为1 用二维数组表示天数和是否持有, i-1天就持有,或者第i天买入 class Solution {public int maxProfit(int[] p…...
Linux部署安装
Linux部署安装 Linux中有两种软件安装包 一、源码包 软件的源代码是软件的原始数据,但是源代码不能直接在计算机中直接运行安装。 需要通过编译将源代码转换为计算机可以识别的机器语言,之后才可以进行安装。 源码包安装的方式可以在安装过程中发根据…...
docker搭建mysql集群实现主从复制
前言 随着业务的增长,一台数据服务器已经满足不了需求了,负载过重。这个时候就需要减压了,实现负载均衡和读写分离,一主一丛或一主多从。 主服务器只负责写,而从服务器只负责读,从而提高了效率减轻压力。 …...
Neo4j 之安装和 CQL 基本命令学习
正常使用结构化的查询语言 SQL(Structured Query Language)较多一些,但是像 Neo4j 这种非结构化的图形数据库来说,就不得不学习下 CQL(Cypher Query Language)语言了。如果你之前学过 《离散数学》或《图论…...
【全开源】JAVA台球助教台球教练多端系统源码支持微信小程序+微信公众号+H5+APP
功能介绍 球厅端:球厅认证、教练人数、教练的位置记录、助教申请、我的项目、签到记录、我的钱包、数据统计 教练端:我的页面,数据统计、订单详情、保证金、实名认证、服务管理、紧急求助、签到功能 用户端:精准分类、我的助教…...
机器学习-如何为模型选择评估指标?
为机器学习模型选择评估指标是一个关键步骤,因为它直接关联到如何衡量模型的性能。以下是选择评估指标的一些建议: 1、理解问题类型: 分类问题:对于二分类问题,常见的评估指标包括准确率、精确率、召回率、F1分数、R…...
【Web 进阶篇】优雅的接口设计:统一响应、全局异常处理与参数校验
系列回顾: 在上一篇中,我们成功地为应用集成了数据库,并使用 Spring Data JPA 实现了基本的 CRUD API。我们的应用现在能“记忆”数据了!但是,如果你仔细审视那些 API,会发现它们还很“粗糙”:有…...
【C++从零实现Json-Rpc框架】第六弹 —— 服务端模块划分
一、项目背景回顾 前五弹完成了Json-Rpc协议解析、请求处理、客户端调用等基础模块搭建。 本弹重点聚焦于服务端的模块划分与架构设计,提升代码结构的可维护性与扩展性。 二、服务端模块设计目标 高内聚低耦合:各模块职责清晰,便于独立开发…...
ios苹果系统,js 滑动屏幕、锚定无效
现象:window.addEventListener监听touch无效,划不动屏幕,但是代码逻辑都有执行到。 scrollIntoView也无效。 原因:这是因为 iOS 的触摸事件处理机制和 touch-action: none 的设置有关。ios有太多得交互动作,从而会影响…...
Unity | AmplifyShaderEditor插件基础(第七集:平面波动shader)
目录 一、👋🏻前言 二、😈sinx波动的基本原理 三、😈波动起来 1.sinx节点介绍 2.vertexPosition 3.集成Vector3 a.节点Append b.连起来 4.波动起来 a.波动的原理 b.时间节点 c.sinx的处理 四、🌊波动优化…...
听写流程自动化实践,轻量级教育辅助
随着智能教育工具的发展,越来越多的传统学习方式正在被数字化、自动化所优化。听写作为语文、英语等学科中重要的基础训练形式,也迎来了更高效的解决方案。 这是一款轻量但功能强大的听写辅助工具。它是基于本地词库与可选在线语音引擎构建,…...
PAN/FPN
import torch import torch.nn as nn import torch.nn.functional as F import mathclass LowResQueryHighResKVAttention(nn.Module):"""方案 1: 低分辨率特征 (Query) 查询高分辨率特征 (Key, Value).输出分辨率与低分辨率输入相同。"""def __…...
Java求职者面试指南:计算机基础与源码原理深度解析
Java求职者面试指南:计算机基础与源码原理深度解析 第一轮提问:基础概念问题 1. 请解释什么是进程和线程的区别? 面试官:进程是程序的一次执行过程,是系统进行资源分配和调度的基本单位;而线程是进程中的…...
第八部分:阶段项目 6:构建 React 前端应用
现在,是时候将你学到的 React 基础知识付诸实践,构建一个简单的前端应用来模拟与后端 API 的交互了。在这个阶段,你可以先使用模拟数据,或者如果你的后端 API(阶段项目 5)已经搭建好,可以直接连…...
Appium下载安装配置保姆教程(图文详解)
目录 一、Appium软件介绍 1.特点 2.工作原理 3.应用场景 二、环境准备 安装 Node.js 安装 Appium 安装 JDK 安装 Android SDK 安装Python及依赖包 三、安装教程 1.Node.js安装 1.1.下载Node 1.2.安装程序 1.3.配置npm仓储和缓存 1.4. 配置环境 1.5.测试Node.j…...
【Ftrace 专栏】Ftrace 参考博文
ftrace、perf、bcc、bpftrace、ply、simple_perf的使用Ftrace 基本用法Linux 利用 ftrace 分析内核调用如何利用ftrace精确跟踪特定进程调度信息使用 ftrace 进行追踪延迟Linux-培训笔记-ftracehttps://www.kernel.org/doc/html/v4.18/trace/events.htmlhttps://blog.csdn.net/…...
