python
文章平均质量分 84
梁正雄
喜欢shell,python,自动化
展开
-
python-restful-02-组件(序列化\认证)
参考: rest-framework框架基础组件, 基于Token的WEB后台认证机制,rest-framework之序列化组件restful组件-1一、序列化对比: 自己写的 for循环处理 (相对麻烦) django自带序列化工具 (不可控, 字段太多, 会造成网络拥堵问题) restful工具可控,但配置比较多, 后续会轻松些1.1、django自带serializers使用说明# 1、导入 from django.core import serializer原创 2021-03-12 14:23:36 · 141 阅读 · 0 评论 -
python-restful-01、入门
参考来源: RESTful规范, RESTful API 设计指南一、什么是restfulREST与技术无关,代表的是一种软件架构风格,REST是Representational State Transfer的简称,中文翻译为“表征状态转移”REST从资源的角度类审视整个网络,它将分布在网络中某个节点的资源通过URL进行标识,客户端应用通过URL来获取资源的表征,获得这些表征致使这些应用转变状态所有的数据,不过是通过网络获取的还是操作(增删改查)的数据,都是资源,将一切数据视为资源是RE原创 2021-03-12 14:18:50 · 183 阅读 · 0 评论 -
python-django-07-demo
一、实例1.1、生成并渲染图片方法from django.shortcuts import render, HttpResponsefrom PIL import Imagefrom io import StringIO, BytesIOimport random# 使用 from PIL import Image, 新建一个图片# 生成一张图片,第一个是模式:RGB, 第二个参数是图片大小,第三个参数是图片颜色Image.new('RGB', (宽,高), color="颜色") 或者原创 2021-03-12 14:14:11 · 139 阅读 · 0 评论 -
python-django-06-django组件-2
浅谈CSRF,django组件-2中间件-(内置方法)一、csrf1.1、csrf说明是什么? CSRF(Cross-site request forgery)跨站请求伪造,也被称为“One Click Attack”或者Session Riding,通常缩写为CSRF或者XSRF,是一种对网站的恶意利用。尽管听起来像跨站脚本(XSS),但它与XSS非常不同,XSS利用站点内的信任用户,而CSR原创 2021-02-24 17:33:50 · 162 阅读 · 0 评论 -
python-django-05-django组件-1
中间件django组件-1一、分页器# 为啥要使用? > 当数据量大时,可以进行分页查看# 如何调用: from django.core.paginator import Paginator示例class Page_lists(View): def get(self, request): # 批量插入数据 # x = [Book(name="python-{}".format(i), pirce=i) for i in range(100)]原创 2021-02-23 08:50:34 · 298 阅读 · 0 评论 -
python-django-04-Ajax
Django与AjaxAJAX# 什么是ajax JSON(JavaScript Object Notation, JS 对象标记) 是一种轻量级的数据交换格式。 它基于 ECMAScript (w3c制定的js规范)的一个子集,采用完全独立于编程语言的文本格式来存储和表示数据,简洁和清晰的层次结构使得 JSON 成为理想的数据交换语言。 易于人阅读和编写,同时也易于机器解析和生成,并有效地提升网络传输效率。# ajax做啥的? 与前后端做数据交互 # 交互请求 同步交互原创 2021-02-22 17:08:37 · 187 阅读 · 0 评论 -
python-django-03-django-ORM入门
ORM简介ORM即Object Relational Mapping,全称对象关系映射。 当我们需要对数据库进行操作时,势必需要通过连接数据、调用sql语句、执行sql语句等操作,ORM将数据库中的表,字段,行与我们面向对象编程的类及其方法,属性等一一对应,即将该部分操作封装起来,程序猿不需懂得sql语句即可完成对数据库的操作。ORM优点: 易用,学习曲线短 和Django紧密集合,用Dja原创 2021-02-20 08:24:42 · 361 阅读 · 0 评论 -
python-django-02-django生命周期(URL、视图、模板)
一、路由控制URL配置(URLconf)就是 Django 所支撑网站的目录。它的本质是URL与要为该URL调用的视图函数之间的映射表;客户端就是以这种方式告诉Django,对于客户端发来的某个URL调用哪一段逻辑代码对应执行1.1、URL分组1.1.1、简单配置# 与django 1不同的是 django 2 3使用的是path -第一个参数是正则表达式(如果要精准匹配:'^publish/$') -第二个参数是视图函数(不要加括号) -url(r'^admin/', ad原创 2021-02-17 10:16:20 · 209 阅读 · 0 评论 -
python-django-01-django入门及html简介
一 http协议简介,web框架基础,Django从入门到放弃,MVC和MTV模型一、http协议简介HTTP是一个属于应用层的面向对象的协议,由于其简捷、快速的方式,适用于分布式超媒体信息系统。它于1990年提出,经过几年的使用与发展,得到不断地完善和扩展。HTTP协议工作于客户端-服务端架构为上。浏览器作为HTTP客户端通过URL向HTTP服务端即WEB服务器发送所有请求。Web服务器根据接收到的请求后,向客户端发送响应信息。1.1、http协议特性基于TCP/IP协议之上的应用协议基于请求原创 2021-02-17 10:13:13 · 442 阅读 · 1 评论 -
python-网络编程-05-协程
学习博文-python并发编程之协程, 学习博文-Python 40 协程, 学习博文-协程与异步IO, Python协程协程 协程,又称微线程,纤程,英文名Coroutine。协程的作用,是在执行函数A时,可以随时中断,去执行函数B,然后中断继续执行函数A(可以自由切换)。但这一过程并不是函数调用(没有调用语句),这一整个过程看似像多线程,然而协程只有一个线程执行。 通常在Python中我们进行并发原创 2021-02-03 11:19:06 · 214 阅读 · 0 评论 -
python-网络编程-04-GIL线程进程池
GIL 在大多数环境中,单核CPU情况下,本质上某一时刻只能有一个线程被执行,多核CPU时则可以支持多个线程同时执行。但是在Python中,无论CPU有多少核,同时只能执行一个线程。这是由于GIL的存在导致的。 GIL的全称是Global Interpreter Lock(全局解释器锁),是Python设计之初为了数据安全所做的决定。GIL本质就是一把互斥锁,都是让多个并发线程同时只能有一个执行,既有了GIL的存在之后,同一进程内的多个线程只能有一个在运行,意味着在cpython中一个进程下的多原创 2021-01-29 08:54:18 · 183 阅读 · 0 评论 -
python-网络编程-03-线程
线程一、线程介绍什么是线程 线程,有时被称为轻量级进程(Lightweight Process,LWP),是程序执行流的最小单元。一个标准的线程由线程ID,当前指令指针(PC),寄存器集合和堆栈组成。另外,线程是进程中的一个实体,是被系统独立调度和分派的基本单位,线程自己不独立拥有系统资源,但它可与同属一个进程的其它线程共享该进程所拥有的全部资源。每一个应用程序都至少有一个进程和一个线程。在单个程序中同时原创 2021-01-28 08:30:48 · 116 阅读 · 0 评论 -
python-网络编程-02-进程
基础理论#一 操作系统的作用: 1:隐藏丑陋复杂的硬件接口,提供良好的抽象接口 2:管理、调度进程,并且将多个进程对硬件的竞争变得有序#二 多道技术: 1.产生背景:针对单核,实现并发 现在的主机一般是多核,那么每个核都会利用多道技术 有4个cpu,运行于cpu1的某个程序遇到io阻塞,会等到io结束再重新调度,会被调度到4个 cpu中的任意一个,具体由操作系统调度算法决定。 2.空间上的复用:如内存中同时有多道程序原创 2021-01-27 08:59:36 · 131 阅读 · 0 评论 -
python-网络编程-01-socket
博客教学1,[译]Python 中的 Socket 编程(指南), sockerserver原理解析一、scoketsocket 只是做为了一个接口,供用户以api使用,而不用直接操作tcp协议,极大的增加了开发的效率 Socket是应用层与TCP/IP协议族通信的中间软件抽象层,它是一组接口。在设计模式中,Socket其实就是一个门面模式,它把复杂的TCP/IP协议族隐藏在Socket接口后面,对用户来说,一组简单的接口就是全部,让Socket去组织数据,以符合指定的协议。1.1、套接字原创 2021-01-26 08:22:51 · 190 阅读 · 0 评论 -
python-面向对象-2-高级
一、类型判断1.1、isinstance# 类型判断class Foo: passhello = "world"print(isinstance(hello, str)) # 各种类型的判断, str,dictprint(isinstance(123, int)) # Truef1 = Foo()print(isinstance(f1, Foo)) # True #判断 f1是否为Foo生成的对象 print(isinstance(f1, str)) # F原创 2021-01-25 13:22:15 · 281 阅读 · 0 评论 -
python-面向对象01-基础
面向对象一、编程思维1.1、面向过程编程核心是过程二字, 过程指的是解决问题的步骤,即先干什么在干什么基于该思想编写程序好比在设计一条流水线,是一种机械式的思维方式优点: 复杂的问题流程化,进而简单化缺点: 扩展性差1.2、面向对象编程面向对象编程:核心是对象二字, 而对象是特征与技能的结合体优点: 可扩展性强缺点: 编程的复杂度要高于面向过程对象不仅包含一系列数据(自己独有的+与其它对象共有的),还专门包含操作该数据的方法二、类2.1、什么是类# 什么是类原创 2021-01-25 13:20:39 · 258 阅读 · 0 评论 -
python-基础-6-总结
基础: 总结及demo示例Python数组和列表有什么区别 Python中的数组和列表具有相同的存储数据方式。但是,数组只能包含单个数据类型元素,而列表可以包含任何数据类型元素Python中的函数是什么? 函数是一个代码块,只有在被调用时才会执行。要定义Python函数,请使用def关键字__init__是什么? __init__是Python中的方法或构造函数。在创建类的新对象/实例时,将自动调用此方法来分配内存。所有类都有__init__方法。什么是lambda函数?匿名函.原创 2021-01-22 10:17:51 · 139 阅读 · 0 评论 -
python-学习-目录
python基础-1 1-基础理论入门 2-基本数据类型 3-字符编码-文件操作 4-函数 5-常用模块原创 2021-01-22 10:11:26 · 126 阅读 · 0 评论 -
python-基础-6-模块与包
模块与包参考: 博客教学一、模块什么是模块?模块是一些列功能的集合体常见的模块形式:(自定义模式、第三方模块、内置模块) 1 一个module.py就是一个模块,文件名是module.py,而模块名是module 2 把一系列模块组织到一起的文件夹(注:文件夹下有一个__init__.py文件,该文件夹称之为包) 3 已被编译为共享库或DLL的C或C++扩展 4 使用C编写并链接到python解释器的内置模块为什么要用模块#1、从文件级别组织程序原创 2021-01-22 10:07:12 · 113 阅读 · 0 评论 -
python-基础-5-常用模块
基础模块time&datetime示例import timeprint(time.time()) # # 时间戳print(time.localtime(1604969222)) # 转换为time.struct_time, 默认是当前时间print(time.strftime("%Y-%m-%d %X")) # # 格式化字符串 2020-11-10 08:16:04# 时间 转换print(time.localtime(time.time()))原创 2021-01-22 10:06:31 · 136 阅读 · 0 评论 -
python-基础-4-函数
参考: 教学博客地址1,教学博客地址2,教学博客地址3函数一、函数基础1.1、什么是函数 函数的作用是非常重要的,函数可以说是现代编程中最小的模块单元,其本质上是子程序,就是可以独立执行一个功能的程序,函数的操作方法是将函数体压入栈中,然后传入参数,在计算完毕之后,将return的值返回到调用处,然后将函数从栈中释放出去. &nbs原创 2021-01-21 09:13:23 · 299 阅读 · 2 评论 -
python-基础-3-字符编码-文件操作
博客教学地址1, 博客教学地址2一、字符编码1.1、计算机基础操作知识1.2、文本编辑器存取文件的原理#1、打开编辑器就打开了启动了一个进程,是在内存中的,用编辑器编写的内容也都是存放与内存中的,断电后数据丢失#2、要想永久保存,需要点击保存按钮:编辑器把内存的数据刷到了硬盘上。#3、在我们编写一个py文件(没有执行),跟编写其他文件没有任何区别,都只是在编写一堆字符而已。1.3、python解释器执行py文件的原理#第一阶段:python解释器启动,此时就相当于启动了一个文原创 2021-01-21 09:07:07 · 124 阅读 · 0 评论 -
python-基础-2-基本数据类型
一、基本数据类型博客教学地址1, 博客教学地址21.1、数字int(整型) 在32位机器上,整数的位数为32位,取值范围为-231~231-1,即-2147483648~2147483647 在64位系统上,整数的位数为64位,取值范围为-263~263-1,即-9223372036854775808~92233原创 2021-01-20 17:27:36 · 175 阅读 · 0 评论 -
python-基础-1-基础理论入门
Python一、什么是python **Python究竟是什么:**所有的语言,都是将字符翻译成机器码,然后交给操作系统执行的过程。编译器与解释器的区别。Python 是一个解释器,用来将编写的代码字符解释并且运行,最终获取运行结果返回(实际上python解释器可以理解为一个虚拟机环境)。编译器编译一个可以独立运行的文件,交给操作系统运行并获取结果。二、python解释器运行步骤先启动python3解释原创 2021-01-20 17:25:12 · 210 阅读 · 0 评论 -
nginx+iptables+ipset 封禁频繁访问web服务的恶意IP
nginx+iptables+ipset 封禁频繁访问web服务的恶意IP说明转载来源–> https://blog.csdn.net/qq_36698956/article/details/90447648iptables直接针对ip进行封禁,在ip数量不大的时候是没什么问题的,但当有大量ip的时候性能会严重下降,iptables是O(N)的性能。而ipset就像一个集合,把需要封闭...原创 2019-11-01 16:34:03 · 776 阅读 · 0 评论