Celery配置解析
Celery配置解析

这是 Django 项目中使用 Celery 的标准初始化方式。创建 your_project/celery.py 文件的主要目的是:✅ 为什么要创建 celery.py?因为 Celery 本身是一个独立于 Django 的任务队列系统。我们需要一个入口来:初始化 Celery 应用实例加载...

tongqing tongqing
2025年07月13日: 04时32分
Python的PyOpenSSL和OpenSSL
Python的PyOpenSSL和OpenSSL

Python 中的 OpenSSL 和 PyOpenSSL 都是用于处理 SSL/TLS 加密的库,但它们在实现、用途和底层依赖上存在明显差异。一、总体区别与联系项目PyOpenSSLOpenSSL(via ssl 模块)类型Python 的第三方库,基于 OpenSSLPython 标准库(...

tongqing tongqing
2025年07月08日: 09时57分
RESTFUL: POST、PUT、PATCH
RESTFUL: POST、PUT、PATCH

在 Web 开发中,尤其是基于 REST API 的系统中,POST、PUT 和 PATCH 是三种常用的 HTTP 方法,用于 创建或更新资源。它们的区别主要在于用途、幂等性和数据处理方式。🔹 1. POST —— 创建资源✅ 用途:创建一个新的资源。🔁 幂等性:不是幂等的。多次执行会创建多...

tongqing tongqing
2025年07月04日: 09时41分
Django的AUTHENTICATION_BACKENDS 是如何影响django.contrib.auth中的authenticate的?
Django的AUTHENTICATION_BACKENDS 是如何影响django.contrib.auth中的authenticate的?

当然可以!以下是一个整理好的简明说明,适合用来介绍 AUTHENTICATION_BACKENDS 是如何影响 django.contrib.auth.authenticate 的:🔐 AUTHENTICATION_BACKENDS 与 authenticate() 的关系1. authent...

tongqing tongqing
2025年07月02日: 05时12分
git常用命令
git常用命令

在开发过程中,Git 是最常用的版本控制工具之一。以下是日常开发中最常用的一些 Git 命令,按使用场景分类整理,方便你查阅:🛠️ 基本操作操作命令说明初始化项目git init在当前目录创建 Git 仓库克隆仓库git clone <url>下载远程仓库到本地查看状态git st...

tongqing tongqing
2025年06月26日: 02时32分
非对称加密中的公钥和私钥
非对称加密中的公钥和私钥

公钥和私钥是一对密切相关的密码学工具,它们在现代加密通信中扮演着核心角色,尤其在数据加密、身份验证和数字签名等方面具有广泛应用。它们共同构成了非对称加密系统,意思是加密和解密使用不同的钥匙。一、公钥与私钥的定义与作用1. 私钥(Private Key)是保密的,只由拥有者自己持有。用于解密通过...

tongqing tongqing
2025年06月25日: 10时36分
加密基础概念
加密基础概念

在计算机领域,加密技术是保护数据的重要手段之一。以下是一些常见的计算机领域中使用的加密技术:对称加密(Symmetric Encryption):对称加密使用同一个密钥来进行加密和解密操作。常见的对称加密算法有DES、AES和RC4等。对称加密速度快,适用于大量数据的加密和解密,但需要确保密钥...

tongqing tongqing
2025年06月25日: 10时36分
Python语言JWT应用
Python语言JWT应用

jwt 库是用于 JSON Web Token(JWT)编码与解码 的 Python 库,常用于实现认证和授权功能。最常用的是第三方库 PyJWT,全名是 PyJWT(不要和名称相似的其他库混淆)。它是一个纯 Python 编写的 JWT 实现,兼容 JWT 标准(RFC 7519)。一、安装...

tongqing tongqing
2025年06月25日: 10时01分
DRF中的策略模式: APIView中定义的方法(get、post等方法)是如何被使用的?
DRF中的策略模式: APIView中定义的方法(get、post等方法)是如何被使用的?

在 Django REST Framework(DRF)中,APIView.dispatch() 最终是由 Django 的 URL 调度机制调用的,这个流程其实是 Django 自身的 Class-Based View(CBV)机制决定的。🔄 调用链详解:假设你有如下 DRF 视图:from...

tongqing tongqing
2025年06月22日: 03时31分
Django的异步支持
Django的异步支持

Django 的异步支持机制是通过装饰器兼容实现的,这是 Django 3.1 起引入异步视图支持时的关键设计之一。✅ 结论:Django 使用 @sync_to_async / @async_to_sync 等机制,通过装饰器在同步异步之间做“桥接”,以实现兼容。🔧 背后的装饰器机制(核心模...

tongqing tongqing
2025年06月22日: 03时05分
Django并发模型
Django并发模型

当然!下面帮你总结 Django 的几种常见并发模型——Gunicorn、uWSGI、ASGI,并对比它们的工作方式、并发特点和适用场景。Django 并发模型总结组件类型并发模型进程/线程模型协程支持适用场景GunicornWSGI HTTP 服务器多进程 + 多线程多进程(worker)+...

tongqing tongqing
2025年06月16日: 10时34分
Celery+pickle+root错误的解决方法
Celery+pickle+root错误的解决方法

是的,你碰到的问题正是 Celery 在检测到以 root 用户运行并接受 pickle 消息时,出于安全考虑给出的一个强制报错(不是警告)。✅ 问题再总结一下:你在蓝鲸中用 root 用户启动 Celery worker,报错如下:Running a worker with superuse...

tongqing tongqing
2025年06月03日: 10时34分
Python: 不要在实例中声明类中未定义的变量
Python: 不要在实例中声明类中未定义的变量

在 Python 中,实例可以动态添加未在类中声明的变量(属性),这是 Python 作为动态语言的灵活特性之一。但这种做法既有优点也有明显的缺点。在实际项目中是否使用,应根据场景权衡。✅ 优点(优于静态语言的灵活性)优点说明灵活性强可以在运行时动态为对象添加属性,无需修改类定义。快速开发原型...

tongqing tongqing
2025年06月02日: 12时05分
Python: Callable、Protocol、ABCMETA+abstractmethod对比
Python: Callable、Protocol、ABCMETA+abstractmethod对比

这是一个非常经典的问题,涉及 Python 中三种定义接口或行为规范的方式:Callable:用于标注函数/可调用对象类型。Protocol:结构化类型接口,支持鸭子类型和灵活的行为描述。ABCMeta + @abstractmethod:正式的抽象基类机制,强调显式继承和实现检查。🧩 总览对...

tongqing tongqing
2025年06月01日: 11时56分
设计模式-策略模式
设计模式-策略模式

我们以 加减法运算 为例来演示策略模式的用法。🎯 示例需求创建一个计算器程序,用户可以动态选择使用 加法 或 减法 运算。这正好适合用策略模式来封装“运算行为”。🧱 UML 类图(简化版)+-------------------+ | Context | --> ...

tongqing tongqing
2025年06月01日: 06时04分
DRF默认配置会要求较严x-CSRFTOKEN的原因分析
DRF默认配置会要求较严x-CSRFTOKEN的原因分析

Django REST framework(DRF)默认对 CSRF 保护机制的处理相对严格,尤其是在使用基于 SessionAuthentication 的认证方式时,会强制校验 X-CSRFToken 请求头。下面是 DRF 默认要求较严 X-CSRFToken 的原因分析:🔐 一、CSR...

tongqing tongqing
2025年05月20日: 01时05分
Pyhton常用的加密和hash算法
Pyhton常用的加密和hash算法

非常好,这份总结已经清晰地介绍了哈希函数在 Web 开发中的应用场景。为了进一步完善内容,我们可以对文中提到的**“加密算法”补充它们的基本特性**,包括:哈希 vs 加密的区别哈希算法特性对称加密算法非对称加密算法HMAC 的类型和原理🔐 一、哈希算法 vs 加密算法(概念区别)类型定义是否...

tongqing tongqing
2025年05月20日: 01时00分
pyenv使用介绍
pyenv使用介绍

在 macOS 上安装指定版本的 Python(例如 Python 3.6.12),可以通过多种方式实现。以下是推荐的方法:✅ 方法一:使用 pyenv 安装 Python 3.6.12pyenv 是管理多个 Python 版本的推荐工具。第一步:安装 Homebrew(如果尚未安装)/bin...

tongqing tongqing
2025年05月17日: 08时48分
Django的中间件
Django的中间件

Django 中间件(Middleware)是 Django 请求处理过程中的一种轻量级插件机制,它能在 请求和响应处理过程的多个阶段注入自定义逻辑。常用于身份认证、权限校验、日志记录、异常处理、性能分析等场景。✅ 一、中间件的作用Django 的请求-响应周期中,中间件在以下几个阶段发挥作用...

tongqing tongqing
2025年05月16日: 01时12分
Python中常见的内置变量
Python中常见的内置变量

Python 提供了一些常用的内置变量(内置常量、内置属性、特殊变量),它们可以在不导入任何模块的情况下直接使用。下面是常见的内置变量分类和说明:✅ 一、常用内置变量(常量)变量名说明None表示空值、无返回、未赋值等True布尔真False布尔假Ellipsis...,用于切片或占位NotI...

tongqing tongqing
2025年05月16日: 01时05分
pre-commit
pre-commit

pre-commit 是一个非常流行的 Git 钩子(hook)管理工具,用于在代码提交前自动运行代码检查、格式化、静态分析等任务,确保代码质量。✅ 简要定义:pre-commit 是一个框架,允许你在 git commit 之前运行一系列自动化的脚本(如代码格式化、lint、检查 secre...

tongqing tongqing
2025年05月15日: 01时11分
Centos7安装python3.11
Centos7安装python3.11

在 CentOS 7 上从源码编译安装 OpenSSL 1.1.1 和 Python 3.11.9 全流程方案下面按步骤给出完整、一致性强的操作流程。全程假设以 root 或具备 sudo 权限的用户执行。1. 安装构建所需依赖sudo yum update -y sudo yum grou...

tongqing tongqing
2025年05月10日: 09时39分
concurrent.future模块
concurrent.future模块

future 是 Python 中的一种异步编程工具,特别用于处理并发执行的任务。它是 concurrent.futures 模块的一部分,可以帮助你在多线程或多进程环境下异步地执行任务,并返回任务的结果。在 Python 的异步编程中,Future 对象表示一个正在执行的任务,它还可以表示任...

tongqing tongqing
2025年05月10日: 02时36分
OpenSSH认证流程
OpenSSH认证流程

“在几万台机器上执行交互式终端时,应该选择哪种 SSH 认证方式?”✅ 推荐的认证方式:OpenSSH 证书认证(强烈推荐)在你的这种大规模场景下,OpenSSH 证书认证(CA-based SSH certificates)是最适合的认证方式。理由如下:🏆 为什么选证书认证(而不是普通 ke...

tongqing tongqing
2025年05月09日: 12时13分
asyncio.create_task()
asyncio.create_task()

asyncio.create_task(coro) 详细介绍asyncio.create_task() 是 asyncio 模块中的一个重要函数,它将一个协程(coro)包装成一个 任务(Task) 并将其调度到事件循环中执行。它允许协程以并发的方式运行,而不需要显式地使用 await 来等待...

tongqing tongqing
2025年05月08日: 03时11分
asyncio使用介绍
asyncio使用介绍

当然可以!下面是对 Python 中 asyncio 的 详细介绍,从基础原理到核心用法,再到实际场景和注意事项,帮助你全面理解这个模块。🧠 一、什么是 asyncio?asyncio 是 Python 的标准库(自 Python 3.4 引入,3.7 起成熟),用于 编写异步IO代码。它通过...

tongqing tongqing
2025年05月08日: 03时10分
Django中app.py的使用方式
Django中app.py的使用方式

在 Django 中,app.py 是每个应用目录下的一个配置文件,用于定义该应用的配置信息。这个文件通常包含一个子类化自 AppConfig 的类,Django 会在启动时自动加载它。🧩 一、apps.py 是什么?apps.py 是 Django 应用的配置模块,位于每个应用目录中,比如:...

tongqing tongqing
2025年05月07日: 12时13分
Serializer中的instance参数
Serializer中的instance参数

在 Django REST framework(DRF)中,serializer 的 instance 参数主要用于 序列化现有模型对象 或 更新数据库中的数据。✅ instance 参数的作用详解:1. 序列化已有对象(即 → Python 对象 → JSON 数据)当你把一个模型对象传给 ...

tongqing tongqing
2025年05月07日: 12时10分
DRF: Serializer的使用方式
DRF: Serializer的使用方式

serializers.Serializer 是 Django Rest Framework (DRF) 中用于数据序列化和反序列化的核心类之一。它允许你将复杂的数据类型(如 Django 模型实例、查询集或字典)转换为 Python 原生数据类型(如字典、列表等),以及将这些数据类型从 Py...

tongqing tongqing
2025年05月01日: 10时35分
DRF的ViewSet使用方式
DRF的ViewSet使用方式

在 Django Rest Framework(DRF)中,ViewSet 是一个非常重要的组件,用于简化常见的数据库操作,如增删改查(CRUD)。ViewSet 基本上是一个处理 HTTP 请求的类,它自动为你提供了一些常用的动作,比如列出、创建、更新和删除资源。基本概念ViewSet 是 ...

tongqing tongqing
2025年04月30日: 12时10分