03 2023 档案
摘要:Django: Tweaking @login_required decorator 我想为我的网站开始一个私人Beta版。 我有一个初始页面,用户可以在其中输入代码,然后访问网站的其余部分。 当前,所有其他站点页面(初始页面除外)都包含一系列通过要求用户登录(通过@login_required装饰
阅读全文
摘要:⇐ ⇒ GitHub OAuth 第三方登录示例教程 作者: 阮一峰 日期: 2019年4月21日 这组 OAuth 系列教程,第一篇介绍了基本概念,第二篇介绍了获取令牌的四种方式,今天演示一个实例,如何通过 OAuth 获取 API 数据。 很多网站登录时,允许使用第三方网站的身份,这称为"第三方
阅读全文
摘要:OAuth 2.0 的四种方式 作者: 阮一峰 日期: 2019年4月 9日 上一篇文章介绍了 OAuth 2.0 是一种授权机制,主要用来颁发令牌(token)。本文接着介绍颁发令牌的实务操作。 下面我假定,你已经理解了 OAuth 2.0 的含义和设计思想,否则请先阅读这个系列的上一篇文章。 进
阅读全文
摘要:time库的使用: Python中内置了一些与时间处理相关的库,如time、datatime和calendar库。 其中time库是Python中处理时间的标准库,是最基础的时间处理库。 time库的功能如下: (1)计算机时间的表达 (2)提供获取系统时间并格式化输出功能 (3)提供系统级精确计时
阅读全文
摘要:Git是跟踪项目中所有文件的好工具,但是,您会希望在项目的整个生命周期中不要跟踪某些文件及其变更。例如: 系统文件(i.e. Mac系统的.Ds_Store)应用程序配置文件(i.e. app.config, .env)构建组件(i.e. *.pyc)安装的依赖(i.e. node_modules)
阅读全文
摘要:我无法理解为什么PATCH在PUT不安全的地方.也就是幂等部分 - 如果我更新资源的一个字段,那么该字段在更新后是否会返回相同的值? 这是不安全的,因为通常你不能在不改变资源的情况下安全地执行PATCH请求(这就是它的用途). 那么为什么与PUT相比,PATCH不是幂等的?这是因为您应用更改的方式很
阅读全文
摘要:目录 写在篇前 typing List Tuple、NamedTuple Dict、Mapping、MutableMapping Set、AbstractSet Sequence Callable Union Optional 案例实战 参考链接: 写在篇前 typing 是python3.5中开始
阅读全文
摘要:启动celery beat 后,定时任务没有生效,谁能帮忙看一下 来源:- 小虾米甜 2021-03-27 15:50 import djcelery from datetime import timedelta djcelery.setup_loader() CELERY_IMPORTS=( 'a
阅读全文
摘要:本文介绍 django.db.transaction.atomic 的用法。 声明 atomic(using=None, savepoint=True, durable=False)[source] 原子性是数据库事务的定义属性。 atomic 允许我们创建一个代码块,在其中保证数据库的原子性。如果
阅读全文
摘要:说明:python本地时间与UTC时间转换,程序中常用于日志或生成文件命名,待补充完善。参考小例 # -*- coding: utf-8 -*- import time import datetime class TimeShift: def __init__(self): pass def get
阅读全文
摘要:Django默认用户模型类 Django 框架默认使用一个 User 模型类, 保存有关用户的数据。 例如: 我们定义 admin 站点时, 定义的超级用户信息, 就是存储在 User 模型类对应的表中。 我们可以通过 select * from auth_user; 查看数据表。 这个表里就是我们
阅读全文
摘要:AbstractUser 介绍 User 对象基本属性: 创建用户必选: username、password 创建用户可选:email、first_name、last_name、last_login、date_joined、is_active 、is_staff、is_superuse 判断用户是否
阅读全文
摘要:这篇文章将讨论如何在 Python 中获取文件的大小。 1.使用 os.stat() 功能 获取文件状态的标准解决方案是使用 os.stat() Python 函数。它返回一个 stat_result 对象,它有一个 st_size 包含文件大小(以字节为单位)的属性。 12345 import o
阅读全文
摘要:2022-10-10更新了内容 python采用的是引用计数机制为主,标记-清除和分代收集(隔代回收)两种机制为辅的策略 一、对象的引用计数机制 引用计数是一种垃圾回收机制,而且也是一种最直观、最简单的垃圾回收机制。当python的某个对象的引用计数为0时,该对象就成为要被回收的垃圾了。但是并不是立
阅读全文
摘要:{{uploading-image-615719.png(uploading...)}}
阅读全文
摘要:都知道django每次请求都会连接数据库和释放数据库连接。Django为每个请求使用新的数据库连接。一开始这个方法行得通。然而随着服务器上的负载的增加,创建/销毁连接数据库开始花大量的时间。要避免这个,你可以使用数据库连接池。 本文使用 DBUtils的连接池, 使Django持久化数据库连接。 D
阅读全文
摘要:redis数据库 一、概述: redis数据库是一个内存数据库,基于内存进行数据存储的,redis数据库访问速度特别快。因此,redis通常被用于缓存系统、存储大量活跃数据,可以极大地提高网站的响应速度。redis数据库里面的数据是通过key-value键值对的方式进行存储的。 二、redis数据库
阅读全文
摘要:本文为大家介绍容器自启动以及docker 守护进程挂掉或者docker升级的情况下,如何保证容器服务的正常运行。主要包含三个部分内容 文章目录 一、守护进程开机自启二、容器自启动重启策略说明 三、守护进程停止期间保证容器服务正常 一、守护进程开机自启 在我们安装docker的时候,介绍过启动dock
阅读全文
摘要:一、概述 ① 缓存穿透:大量请求根本不存在的key(下文详解) ② 缓存雪崩:redis中大量key集体过期(下文详解) ③ 缓存击穿:redis中一个热点key过期(大量用户访问该热点key,但是热点key过期) 穿透解决方案: 对空值进行缓存设置白名单使用布隆过滤器网警 雪崩解决方案: 进行预先
阅读全文
摘要:StreamingHttpResponse StreamingHttpResponse(streaming_content):流式相应,内容的迭代器形式,以内容流的方式响应 # 示例 def homeproc2(request): response = StreamingHttpResponse(o
阅读全文
摘要:目录 什么是协程 Python 对协程的支持经历了多个版本: 一、协程实现方法: 1、greenlet,早期模块 2、yield关键字(Python2.x开始) 3、asyncio装饰器(Python 3.4开始) 4、async、await关键字(Python 3.5开始) 5、gevent 二、
阅读全文
摘要:背景 最近接手了几个项目,发现项目的部署基本上都是基于Docker的,幸亏在几年前已经熟悉的Docker的基本使用,没有抓瞎。这两年随着云原生的发展,Docker在云原生中的作用使得它也蓬勃发展起来。今天这篇文章就带大家一起实现一下在Linux操作系统下Docker的部署过程,收藏起来,以备不时之需
阅读全文
摘要:为什么管MQ叫做分布式消息中间件?分布式表示应用场景(用户基数大采用分布式提供服务的方式)。消息表示通信形式。中间件表示媒介。生产者和消费者都只是个python程序而已。MQ它也是个软件(说明有端口),按照官方文档说,MQ就是个消息容器用于应用程序间的通信。刚刚说的redis也可用做MQ,比如使用s
阅读全文
摘要:首先什么是MQ MQ全称是Message Queue,即消息对列!消息队列是典型的:生产者、消费者模型。生产者不断向消息队列中生产消息,消费者不断的从队列中获取消息。因为消息的生产和消费都是异步的,而且只关心消息的发送和接收,没有业务逻辑的侵入,这样就实现了生产者和消费者的解耦。 RabbitMQ
阅读全文
摘要:发布订阅和简单的消息队列区别在于,发布订阅会将消息发送给所有的订阅者,而消息队列中的数据被消费一次便消失。所以,RabbitMQ实现发布和订阅时,会为每一个订阅者创建一个队列,而发布者发布消息时,会将消息放置在所有相关队列中。 发布订阅模式: 发布者 创建一块独立空间,将数据放置到这个空间中。 订阅
阅读全文
摘要:单例模式(Singleton Pattern) 是一种常用的软件设计模式,该模式的主要目的是确保某一个类只有一个实例存在。当你希望在整个系统中,某个类只能出现一个实例时,单例对象就能派上用场。 比如,某个服务器程序的配置信息存放在一个文件中,客户端通过一个 AppConfig 的类来读取配置文件的信
阅读全文
摘要:我们都知道 Django 提供了开箱即用的强大的 ORM,用ORMk可以让我们不懂SQL也可以很方便的去完成对数据库的修改操作,例如查询,删除等。在日常工作中,我们大多数人只会处理来自 ORM 的 filter()、get()、all()、update() 和 delete() 方法。但除此之外,D
阅读全文
摘要:1.什么是Celery?Celery 是芹菜Celery 是基于Python实现的模块, 用于执行异步定时周期任务的其结构的组成是由 1.用户任务 app 2.管道 broker 用于存储任务 官方推荐 redis rabbitMQ / backend 用于存储任务执行结果的 3.员工 worker
阅读全文
摘要:更新系统sudo yum update -y sudo yum install epel-release安装Python3sudo yum install -y python3 python3-devel设置Python3alternatives --install /usr/bin/python
阅读全文
摘要:1. 介绍 django提供了两种方式来执行原生 SQL 代码。 一种是使用 raw() 函数, 一种是 使用 connection.cursor() 1、raw() 介绍 这个方法可以用来操作原生 SQL,然后返回 model 实例: 我们以 Blog 作为示例 上面这段代码的作用效果跟 Blog
阅读全文
摘要:今天闲着没事,突然想起一个以前遇到的一个小问题。一直忘了来验证自己的解决方案,所以今天特意来查询了些资料来验证下自己的想法。整理如下: 单张表内建立联合主键: class IotTemp(models.Model): mac = models.CharField(max_length=64, bla
阅读全文
摘要:其实按照官方文档就已经可以安装并使用pyenv和virtualenv了,但在实际操作过程中,你可能还是会遇到各种各样的问题,希望这篇文章能帮到你。值得注意的是,这篇文章所记录的操作都是在Debian 10操作系统下完成的。如果你的操作系统不同,可能无法照搬这篇文字的操作。不过无需担心,安装过程在各个
阅读全文