- 博客(112)
- 资源 (1)
- 收藏
- 关注
原创 Celery周期性定时任务-periodic_task
目录周期性定时任务基本使用crontab表达式自定义周期任务使用程序停止和删除周期定时任务周期定时任务删除,直接通过自定义任务的name字段删除停止运行中的周期定时任务周期性定时任务说明:在Django中使用celery, 并结合django-celery模块(省略安装)。需要在配置文件中注册:import djceleryINSTALLED_APPS += ('djcelery',)C...
2021-09-30 15:58:00
441
1
原创 python-Django跨文件全局变量
文章目录背景创建全局变量管理模块 globalvar初始化全局变量模块使用全局变量模块背景python 中 global 关键字可以定义一个变量为全局变量,但是仅限于在当前模块(py文件)中调用全局变量,如果在另外一个py文件中,再次使用 global x 是无法访问到的,因为在这个py模块中并没有一个叫做x的变量,于是就会报错,参数未定义。借鉴global的思路,既然在一个文件中可以生效,那么我们可以专门为全局变量定义一个全局变量管理模块。本文示例主要是基于Django框架项目作为例子, 便于在实
2021-08-09 16:31:56
2498
1
原创 python-Django跨文件全局变量管理
目录背景创建全局变量管理模块 globalvar初始化全局变量模块使用全局变量模块背景python 中 global 关键字可以定义一个变量为全局变量,但是仅限于在当前模块(py文件)中调用全局变量,如果在另外一个py文件中,再次使用 global x 是无法访问到的,因为在这个py模块中并没有一个叫做x的变量,于是就会报错,参数未定义。借鉴global的思路,既然在一个文件中可以生效,那么...
2021-08-09 16:29:00
175
原创 Django中间件实现操作日志记录
Django中间件实现操作日志本文通过Django中间件的流程,实现操作日志记录的功能,模块化、拿来即用。**功能描述:**通过中间件记录 请求时间、操作用户、请求URL、请求方法、请求IP、请求参数和响应数据、响应耗时等数据日志,而且可以自定义exclude_urls列表,访问列表中的url,不会保存操作日志。另外,通过设置的响应时间阈值(可配置化),将超过阈值的操作日志进行单独保存,便于分析。**说明:**示例中将是数据记录在MySQL数据库中,如果你想写入log日志,只需将数据入库改为log格
2021-07-23 17:50:23
2962
原创 python3.6、3.9多版本安装共存
目录windows下python多版本安装共存下载安装python3.9修改python名命pip共存pip报错处理windows下python多版本安装共存本地已经安装了python3.6版本,现在想要安装python3.9版本,来学习一下python新版本特性。下载安装python3.9官网下载下载成功后,点击安装,选择安装路径,我C盘大,安装在提前创建好的文件夹C:\Python...
2021-07-08 12:26:00
97
原创 使用蓝鲸平台登录态验证接入第三方系统
目录使用蓝鲸平台登录态验证接入第三方系统获取bk_tokenbk_token验证接口bk_token验证源码流程解析第三方系统接入到蓝鲸开发的应用示例蓝鲸应用A系统B系统使用蓝鲸平台登录态验证接入第三方系统蓝鲸智云平台登录态验证, 验证用户登录的状态,如验证登录token是否合法、过期、是否注销退出等。本文内容主要是探索蓝鲸bk_token源码验证流程,以及基于验证流程简单实现一个第三方系统...
2021-06-10 16:54:00
255
原创 layui的表格table合并行去除小数点.00
layui中table合计行默认显示小数点后两位,但有时候我们不需要小数点,例如统计个数、数量等。方法说明:在 table.render() 中的回调 done 进行一些JS操作(在其他地方是不容易获取到合并行的DOM),去除小数点。<script>layui.use('table', function(){ var table = layui.table; //第一个实例 table.render({ elem: '#demo' ,height: 312
2021-04-27 16:44:13
463
原创 layui表格table的合计行去除小数点(.00)方法
layui中table合计行默认显示小数点后两位,但有时候我们不需要小数点,例如统计个数、数量等,而layui没有内置的方法,百度会发现,有的人修改table.js源码,试了一下,没成功。^_^在这里我提供另一种通过JS修改的方法,说明:在 table.render() 中的回调 done 进行一些JS操作(在其他地方是不容易获取到合并行的DOM),去除小数点。<script>...
2021-04-27 16:39:00
194
原创 Django文件下载的几种方式
目录Django文件下载方式一:HttpResponse方式二: StreamingHttpResponse + 迭代器 yield方式三:StreamingHttpResponse + FileWrapper方式四: FileResponseDjango文件下载方式一:HttpResponse这种方式简单粗暴,适合小文件的下载,但如果这个文件非常大,这种方式会占用大量的内存,甚至导致服务器...
2021-03-11 15:00:00
69
原创 RabbitMQ
目录消息队列rabbitMQ单发送单接收ACK机制 -- 消息确认消息持久化RPC 远程过程调用消息队列作用:1)程序解耦允许你独立的扩展或修改两边的处理过程,只要确保它们遵守同样的接口约束。2)冗余:消息队列把数据进行持久化直到它们已经被完全处理,通过这一方式规避了数据丢失风险。许多消息队列所采用的"插入-获取-删除"范式中,在把一个消息从队列中删除之前,需要你的处理系统明...
2020-08-27 14:07:00
47
原创 Django-contenttype组件
目录表关系Models添加数据获取所有的价格策略获取大课Python的所有价格策略Contenttype组件一般使用在表结构是一种策略模式中,能够帮助我们快速的操作。表关系如下设计:有一张价格表,有三种不同课程类型(大课、小课、软件服务),而且每种课程(大课中的Python)因为周期(30 60 90 )的不同而价格也不同。在django_content_type表中有我们所有的ma...
2020-08-27 14:02:00
54
原创 Jsonp跨域
Jsonp -- JSON+PaddingJS对JSONP的实现 jsonp是json用来跨域的一个东西。原理是通过script标签的跨域特性来绕过同源策略。 script标签的src属性是可以直接实现跨域的,这是标签特性,所以我们可以借助它来实现跨域。简单实现:index.html<button>ajax</button>{% csrf_token %}...
2020-08-27 14:00:00
43
原创 Datetimepiker 时间选择
Datetimepiker是一个BootStrap的组件,用于实现时间的精确选择。引用css和js文件<link rel="stylesheet" href="{% static 'web/datetimepicker/bootstrapdatetimepicker.min.css' %}"><script src="{% static 'web/datetimepick...
2020-08-27 13:55:00
57
原创 python 02 while与运算符
目录1.while循环 -- while关键字break和continue的相同之处:打断循环的方式:2.格式化输出%s(字符串类型) %d(数字类型).formatf'字符串1{},字符串2{}' (python 3.6以上)3.运算符算术运算符比较运算符赋值运算符逻辑运算符优先级:成员运算符4.编码初始(编码集)单位转换:其他知识点1.while循环 -- while关键字while 空格...
2020-08-27 13:38:00
45
原创 python 01 python初识
目录1.python的历史2.python是一个什么编程语言3.python的种类4.变量 -- 输出5.常量6.注释7.基本类型8.输入9.if 流程控制语句1.python的历史 2004 Django框架诞生了 python2: 源码不统一,有重复的功能代码 python3: 源码统一,没有重复的功能2.python是一个什么编程语言 编译...
2020-08-27 13:37:00
52
原创 Celery的任务分发与定时任务
目录celery应用场景celery的使用1.1 环境的搭建1.2 快速使用任务超时限制1.3 django中应用celery1.4 celery定时执行1.5 周期性定时任务1.6 任务绑定,记录日志,重试1.7 启用任务监控celery面试总结celery应用场景celery,处理任务的Python的模块。场景1:对【耗时的任务】,通过celery,将任务添加到broker(队...
2020-08-27 13:24:00
129
原创 轮询、websocket(重点)
目录长轮询基于长轮询简单实现聊天:websocket原理:手动创建支持websocket的服务端Django实现websocket单对单实现通信多人实现通信 -- channel_layer基于redis的 channel layersession长轮询轮询:客户端定时向服务器发送Ajax请求,服务器接到请求后马上返回响应信息并关闭连接。 缺点:有延迟,浪费服务器资源。长轮询:客户端向服务器...
2020-08-27 13:08:00
84
原创 tornado - 原生websocket
目录WebSocket概念服务端编程客户端编程WebSocket概念传统的HTTP与HTML技术使用客户端主动向服务器发送请求并获得回复的应用场景。但随着即时通信需求的增多,这样的通信不能满足要求。websocket与普通的socket通信类似,打破原来的request和response一对一的通信模型,同时打破了服务器被动接收客户端请求的应用场景。websocket是基于HTTP的协议。...
2020-08-27 13:01:00
63
原创 tornado - 异步非阻塞
目录阻塞式IO框架 (Django、Flask)Tornado异步非阻塞非阻塞模式:Tornado httpclient:Tornado-MySQL类库阻塞式IO框架 (Django、Flask)大多数的web框架都是阻塞式的,如果一个请求到达服务端且为处理完该请求,后序请求会一致等待。常用的解决方案:开启多线程/多进程,提高并发。 但是比较浪费系统资源tornado多进程模式(仅lin...
2020-08-27 13:00:00
99
原创 tornado - cookie与认证相关
目录xsrf_token认证 -- 防止CSRFCookie 安全机制cookie读写cookie加密@authenticated 用户认证基本框架代码:框架解读:login.htmlxsrf_token认证 -- 防止CSRF可以通过一个Cookie和一个隐藏的HTML表单元素向页面提供令牌。这样,当一个合法页面的表单被提交时,它将包括表单值和以存储的Cookie。如何两者匹配,则Torna...
2020-08-27 12:59:00
51
原创 tornado 基本功能
目录Tornado的特点Tornado的基本组成Tornado的基本功能基本流程配置路由系统视图 RequestHandlerRequestHandler.initialize():RequestHandler.prepare():RequestHandler.finish():RequestHandler.get()/post():请求相关输入捕获输出响应模板语言引入静态文件上下文Tornad...
2020-08-27 12:56:00
59
原创 Elasticsearch操作
目录Elasticsearch概念Elasticsearch下载启动全文搜索倒排索引Python操作Elasticsearch添加数据删除数据查询数据term与termsmatch与multi_matchids复合查询bool切片查询范围查询 - range前缀查询 - prefix通配符查询 - wildcard排序 - sort响应过滤 - filter_path统计获取结果的数量 - co...
2020-07-02 19:35:00
29
原创 redis
目录NoSQLRedis特性Redis优势Redis 高速缓存安装配置启动redis服务端Redis五大数据类型string字符串类型list列表类型sets集合类型zset有序集合类型hashes哈希数据类型Redis安全配置Redis发布订阅单个发布者,多个接收者订阅一个或多个 通配符 *Redis持久化RDB和AOFRDB持久化AOF持久化(推荐)切换rdb持久化为aof持久化redis...
2020-03-29 19:33:00
30
原创 排序算法
目录冒泡排序 O(n**2)选择排序 O(n**2)插入排序 O(n**2)希尔排序 <O(n**2)快速排序 O(nlogn)归并排序 O(nlogn)冒泡排序 O(n**2)将乱序列表中的最大值逐步找出,将最大值最终移动到最后的位置。第一个值比第二个大,则将这两个值互换位置,较大的放在后面。# 推导:只排序一次def sort(alist): for i ...
2020-03-29 19:24:00
25
原创 顺序表与链表
目录内存顺序表链表内存计算机的作用存储和运算二进制的数据。问题:计算机如何计算1+2?现将1和2(0010)进行存储计算机会使用加法寄存器进行加法运算变量的概念引用==变量。变量就是我们为存储数据单独开辟的内存空间。形象化理解内存(内存的大小和地址)开辟好的内存空间会有两个默认的属性:大小,地址大小:衡量该块内存能够存储数据的大小bit(位):只可以...
2020-03-29 19:22:00
29
原创 二叉树
二叉树根节点左右叶子节点子树:完整的子树不完整的子树结论:一颗子树最少要包含一个根节点一个完整的二叉树是由多个子树构成一个子树的子节点也可以表示另一个子树的根节点深度遍历 -- 纵向遍历,是根据根节点的位置前序:根左右中序:左根右后序:左右根实现一个二叉树:class Node(): # 初始化一个空节点 def __...
2020-03-29 19:21:00
33
原创 查找算法
目录顺序查找二分查找顺序查找当数据存储在诸如列表的集合中时,我们说这些数据具有线性或顺序关系。 每个数据元素都存储在相对于其他数据元素的位置。 由于这些索引值是有序的,我们可以按顺序访问它们。 这个过程产实现的搜索即为顺序查找。从列表中的第一个元素开始,我们按照基本的顺序排序,简单地从一个元素移动到另一个元素,直到找到我们正在寻找的元素或遍历完整个列表。如果我们遍历完整个列表,则说明正在搜...
2020-03-29 19:20:00
25
原创 15 Django 离线脚本
离线脚本可以在Linux中做定时任务执行脚本。也能够用于Django项目中,为项目做一些其他方便的操作(脱离项目运行,右键点击运行)。下面是在Django中往数据库添加数据的例子。init_news.py"""初始化动态表,在动态表中添加一些数据,方便操作"""import osimport sysimport djangofrom api import models# ...
2020-01-15 16:18:00
43
原创 drf 视图的三种继承
视图的方法(继承)第一种:原始APIView需要自己写get/post方法。url(r'^login/$',account.LoginView.as_view()),from rest_framework.views import APIViewfrom rest_framework.response import Responsefrom rest_framework_jwt....
2019-11-30 18:19:00
44
原创 JWT 解析
目录JWT解析传统session认证基于session认证暴露的问题基于token的认证JWT:jwt格式jwt在drf中的使用JWT解析 jwt : Json web token,一般被用来在身份提供者和服务提供者间传递被认证的用户身份信息,以便于从资源服务器获取资源,也可以增加一些额外的其它业务逻辑所必须的声明信息,该token也可直接被用于认证,也可被加密。传统session认证...
2019-11-30 17:34:00
36
原创 drf 节流/频率控制
目录节流/频率控制简单使用:源码:流程分析:节流/频率控制节流类似于权限,它确定是否应授权请求。节流指示临时状态,并用于控制客户端可以向API发出的请求的频率 。在drf认证、权限之后执行。原理思路:{ throttle_anon_1.1.1.1:[100121340,], }限制:60s能访问3次来访问时: 1.获取当前时间 100121280 2.100121280-60...
2019-11-28 22:24:00
44
原创 drf 权限流程解析
目录权限简单使用源码:流程分析:权限设置权限,permission_classes简单使用from rest_framework.permissions import BasePermissionfrom rest_framework import exceptionsclass MyPermission(BasePermission): message = {'code':...
2019-11-28 21:55:00
47
原创 drf 认证流程解析
目录认证简单使用:源码:流程分析:认证用于必须登录后才能访问否个视图。简单使用:url.pyfrom django.conf.urls import url,includefrom django.contrib import adminfrom . import viewsurlpatterns = [ url(r'^login/$', views.LoginView.as...
2019-11-28 21:26:00
47
原创 drf 版本解析
目录版本使用(局部)使用(全局)推荐源码分析版本使用(局部)url中写versionurl(r'^order/(?P<version>[v1|v2]+)/$', views.OrderView.as_view()),在视图中应用from rest_framework.views import APIViewfrom rest_framework.response ...
2019-11-27 22:01:00
29
原创 Django REST framework初识
Django REST framework是一个基于django框架开发的组件,本质是一个django的app。不基于drf也可以实现restful规范来开发接口程序,但是使用它可以帮程序员快速开发出一个遵循restful规范的程序。安装pip3 install djangorestframework简单使用settings中注册appINSTALLED_APPS = [ ...
2019-11-26 21:53:00
34
原创 RESTful规范
什么是RESTful?Representational State Transfer , 中文翻译为“表征状态转移” 。Resource(资源): 对象的单个实例,是一个具体的实在。可以用一个URI(统一资源定位符)指向它,每种资源对应一个特定的URI。要获取这个资源,访问它的URI就可以,因此URI就成了每一个资源的地址或独一无二的识别符。表现层(Representation) :"资源...
2019-11-26 21:03:00
28
原创 Flask框架
目录一、基本使用flask二、flask对象中静态文件处理三、配置文件3.1 基于全局变量(推荐)3.2 基于类的方式四、路由系统五、视图FBVCBV六、模板基本用法定义全局模板方法七、请求与响应相关八、Session九、蓝图Blueprint十、特殊装饰器十一、信号-message十二、 Flask中间件十三、请求扩展nullFlask文档Flask是一个基于Python开发并且依赖jinj...
2019-11-23 14:34:00
30
原创 Flask框架解析目录
目录Flask --【第一篇】:基于werkzeug的请求与响应以及源码的解析Flask --【第二篇】:Flask框架的使用Flask --【第三篇】:Threadind local - 线程局部变量Flask --【第四篇】:Flask源码之:基于LocalStack和Local实现上下文管理Flask --【第五篇】:Flask源码之:项目启动时的加载F...
2019-11-22 17:40:00
27
原创 14 Django -- ModelForm组件以及同源与跨域
目录ModelForm操作class Meta下常用参数:ModelForm的验证save()方法添加/编辑书籍 示例同源和跨域CORS:HTTP访问控制(跨站资源共享)简单请求:非简单请求:两种请求方式的处理:ModelForm操作class Meta下常用参数:model = models.Book # 对应的Model中的类fields = "__all__" # 字段,如果是_...
2019-11-19 21:42:00
47
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人