- 博客(54)
- 收藏
- 关注
转载 Django -- 多对多建表增删改查
ManyToManyField -- 自动创建第三张对应关系表表结构class Author(models.Model): name = models.CharField(max_length=32) books = models.ManyToManyField('Book') # 描述多对多关系,不生成字段,生成关系表查询 de...
2019-08-28 19:52:00
246
转载 Django -- 一对多建表增删改查
一对多表结构ForeignKey -- 设置外键与另一张表关联class Book(models.Model): title = models.CharField(max_length=32) pub = models.ForeignKey('Publisher', on_delete=models.CASCADE) # 外键 -- 关联表另一张表...
2019-08-27 21:19:00
234
转载 Django -- 图书管理系统
12.2.8 5 图书管理系统1. 模板语法{{ all_publisher }} 表示变量{% for publisher in all_publisher %} # 循环体 {{ forloop.counter }} {{ publisher }}{% endfor %}2. 展示从数据库中查询所有的数据返回...
2019-08-23 22:04:00
227
转载 Django -- 基础
十二章 Django12.1 HTTP超文本传输协议(英文:Hyper Text Transfer Protocol,HTTP)是一种用于分布式、协作式和超媒体信息系统的应用层协议。HTTP是万维网的数据通信基础.HTTP有很多应用,最著名的是用于Web浏览器服务器之间的双工通信.HTTP是一个客户端(用户)和服务器端(网站)请求和应答的标准(TCP).12.1.1 HT...
2019-08-22 22:05:00
175
转载 前端 -- jQuery
11.4 JqueryjQuery的优势js代码对浏览器的兼容性更好隐式循环链式操作jQuery是什么? -- 高度封装了js代码块的模块,封装了dom节点,封装了操作dom节点的简便方法$: 就是jQuery的简写.jQuery对象和DOM对象的互相转换jQuery封装了DOMDOM转换成jQuery : jQuery(D...
2019-08-21 22:04:00
105
转载 前端 -- JavaScript-BOM
11.3.17 BOMBOM:Browser Object Model,浏览器对象模型。window对象:window对象是JavaScript中的顶级对象。全局变量、自定义函数也是window对象的属性和方法。window对象下的属性和方法调用时,可以省略window。window.open(url,target)//url:要...
2019-08-20 22:03:00
149
转载 前端 -- JavaScript-DOM
11.3.16 DOM什么是DOM?document object model 文档对象模型DOM树:整个文档就是一棵树,树当中的每一个节点都是一个对象:这个对象中维系着属性信息,文本信息,关系信息整个文档是从上到下依次加载的,当加载到script标签的时候,会有一个特殊的变量提升的解析方法,导致后定义的函数可以提前被调用在...
2019-08-19 22:04:00
79
转载 前端 -- JavaScript基础
11.3 JavascriptJavascript介绍能处理逻辑可以和浏览器交互不够严谨ECMAscript : js的一种标准化规范,标出了一些基础的js语法DOM -- document object model 文本对象模型,主要操作文档中的标签BOM -- browser object model 浏览器对象模型,主要用...
2019-08-16 18:20:00
109
转载 前端 -- HTML块级标签
块级标签 1. 标题标签占满一整行,自带换行效果标题标签: h1 -- h6 ( 1-6是指标题等级,大小不同)2. 列表标签列表又分为三种,有序列表ol,无序列表ul和定义列表dl。其中ol和ul必须结合li标签使用,而dl则必须结合dt,dd使用。<!--无序列表--><!DOCTYPE html><html l...
2019-08-08 22:09:00
223
转载 数据库
第十章 数据库10.1初识数据库10.1.1 数据库基础知识数据库在程序中扮演的角色:存储数据用户名密码,商品价格,对数据的处理更便捷web程序名词解释数据data描述事物的符号记录称为数据数据库(db)database存放数据的仓库表table即文件,用来存放多行内容/多条记录数据库管理系统DBMS组织,存储数据,高效获取和维...
2019-08-05 21:35:00
128
转载 Python -- 协程
9.4 协程9.4.1 协程初识回顾串行,并行,并发串行:多个任务执行时,第一个任务开始执行,遇到IO阻塞就等待,IO阻塞结束之后,继续执行下个任务并行:多核,多个形成或者进程同时进行,4个CPU同时执行四个任务并发:多个任务看起来同时执行,实质是CPU在多个任务之间来回切换(遇到IO阻塞,计算密集型执行时间过长)并发的本质:遇到IO阻塞,计算密集型执行时间过长,切换...
2019-08-03 19:04:00
91
转载 Python -- 并发编程:多线程
9.3 并发编程:多线程9.3.1 线程基础知识什么是线程?CPU调度的最小单元,执行单位什么多线程:同一时刻开启多个线程并发(并行)的执行线程vs进程进程:主要任务是划分空间,加载资源,静态的线程:执行代码,执行能力,动态的线程是依赖于进程,一个进程可以包含多个线程,但是一定有一个主线程,线程才是CPU执行的最小单元.开启多进程开销非常大,开启线程开销非常小,...
2019-08-02 18:22:00
186
转载 Python -- 并发编程:多进程
什么是多进程:同一时刻开启多个进程并发(并行)的执行9.2.1 开启进程的两种方式:# 开启进程的第一种方式from multiprocessing import Processimport timedef task(name): print(f'{name},来了老弟') time.sleep(3) print(f'{name},走了老弟')if...
2019-08-01 22:43:00
136
转载 Python -- 并发编程:基础知识
9.1 进程基础知识程序是什么? -- 程序就是一堆文件.进程是什么? -- 进程就是一个正在执行的文件/程序. 是资源单位 ( 抽象的概念 )进程被谁执行? -- CPU最终运行程序 .操作系统调度作用,将磁盘上的程序加载到内存,然后交由CPU去处理.一个CPU正在运行的一个程序,就叫开启了一个进程9.1.1 操作系统操作系统的定义操作系统是存在于硬件与软件之间,管...
2019-07-25 21:38:00
82
转载 Python -- 黏包
8.7 黏包黏包现象: 产生黏包现象的根本原因是缓冲区.所谓粘包问题主要还是因为接收方不知道消息之间的界限,不知道一次性提取多少字节的数据所造成的。什么是黏包现象: 基于tcp协议的socket.客户端接收不完,下一次将继续接收(如果间隔时间相对过长,后续的数据会与之前的数据黏在一起),send数据时.连续发送少量的数据(时间间隔很短),这些数据会积压在一起发送出去.系统缓冲区...
2019-07-24 17:35:00
98
转载 Python -- socket套接字
8.6 socket 套接字什么是socket套接字?socket套接字充当的就是内置模块的角色.socket套接字,它是存在于传输层与应用层之间的抽象层# 作用 1. 避免学习各层的接口,以及协议的使用,socket已经封装好了所有的接口直接使用这些接口或者方法即可,使用起来方便,提升开发效率.2. socket就是一个模块,通过使用学习模块提供的功能,建立客户端与服...
2019-07-23 22:04:00
124
转载 Python -- 网络编程osi五层协议
8.3 osi七层协议(五层协议)物理层---> 数据链路层(以太网协议(mac地址)) ---->网络层(IP协议) ----> 传输层(端口协议(TCP,UDP协议)) ---> 应用层:8.3.1 物理层一系列的物理连接介质:网线,光纤,电缆发送的数据就是01010101 比特数据流,这些数据连续不断的收发,拿到这些数据没用,不知道数据代表的意义...
2019-07-21 13:10:00
139
转载 Python -- 异常处理
7.9 异常处理什么是异常? -- 程序出现中断,飘红,致使整个项目中断.什么是异常处理? -- 一旦程序出现异常,异常处理会即使的捕捉到你的错误,不至于你的程序崩溃,并进行了程序分流.为什么要进行异常处理? -- 通过异常处理机制增强程序的健壮性和容错性.错误类型: 1.语法错误 2.逻辑错误# 常用异常AttributeError # 试图访问一个对象没有的树形,比如...
2019-07-19 18:27:00
124
转载 python -- 判断函数和方法
7.7.1 通过打印函数(方法)名确定def func(): passprint(func) # <function func at 0x00000260A2E690D0>class A: def func(self): passprint(A.func) # <function A.func at 0x0000026E65A...
2019-07-17 18:09:00
338
转载 python -- 面向对象:反射
7.6面向对象:反射Python面向对象中的反射:通过字符串的形式操作对象相关的属性.Python中的一切事物都是对象(都可以使用反射).7.6.1 对 对象的反射class Foo: a = '类的静态变量' def __init__(self,name,age): self.name = name self.age = ...
2019-07-16 21:47:00
98
转载 Python -- 面向对象:类的成员
类大致分为两块区域:如下图# 每个区域详细划分:class A: name = 'Agoni' # 静态变量 _password = '123456xxx' # 私有静态变量 def __init__(self,name,age): self.name = name # 对象属性 self.__ag...
2019-07-15 22:04:00
141
转载 Python -- 面向对象:类的约束
在一些重要的逻辑,与用户数据相关等核心部分,要建立一种约束,避免发生此类错误.类的约束有两种解决方式:7.4.1 在父类建立一种约束# 第一种约束:在父类定义一个pay方法,主动抛出异常class Paymeng: def pay(self,money): raise Exception('子类必须定义此方法') class QQpay(...
2019-07-12 21:55:00
100
转载 Python -- 面向对象的三大特性及深入了解super()
面向对象的三大特性:继承(在上节),封装,多态封装:将一些东西内容封装到一个地方,还可以取出来(例如:类设置静态属性,设置一些方法) 调用被封装的内容,有两种情况: 1. 通过对象直接调用 2. 通过self间接调用多态:一个事物的多种形态,Python中默认支持多态.鸭子类型(面试会问): A,B两个类,没有任何关系(完全没有耦合性),独立的两个,但里面的功能相似,所以Pyt...
2019-07-12 08:03:00
79
转载 Python -- mro算法
经典类:class A: passclass B(A): passclass C(A): passclass D(B, C): passclass E: passclass F(D, E): passclass G(F, D): passclass H: passclass Foo(H, G): p...
2019-07-10 15:40:00
101
转载 Python -- 继承关系
什么是继承?专业角度:B类继承A类,B类就叫做A的子类/派生类,A就叫做B类的父类/超类B类以及B类的对象可以使用A 类的所有的属性以及方法继承的优点:节省代码增强耦合性使代码更加规范化通过一个例子看一下继承:class Person: def __init__(self,name,age,sex): self.name = name ...
2019-07-09 20:52:00
294
转载 Python -- 面向对象:类空间问题以及类之间的关系
7.2.1 类空间问题何处可以添加对象属性? -- 对象属性不仅可以在__init__里面添加,还可以在类的其他方法或者类的外面添加何处可以添加类的静态属性? -- 类的属性不仅可以在类内部添加,还可以在类的外部添加.对象如何找到类的属性. 图解对象查找属性的顺序: 先从对象空间找 -- > 类空间找 -- > 父类空间找 -->类名查找属性的顺序: 先从本类...
2019-07-08 18:29:00
87
转载 Python -- 软件开发规范
规范化开发.一个py文件中,文件加载问题.代码可读性差,查询,麻烦.要将一个py文件分开,合理的分成多个py文件.settings.py: 配置文件,就是放置一些项目中需要的静态参数,比如文件路径,数据库配置,软件的默认设置等等类似于我们作业中的这个:common.py:公共组件文件,这里面放置一些我们常用的公共组件函数,并不是我们核心逻辑的函数,而更像是服务于整个程...
2019-07-07 17:28:00
87
转载 Python -- 面向对象:初识
面向对象:初识回顾: 面向过程式编程 vs 函数式编程通过对比可知:函数式编程较面向过程式编程最明显的两个特点:减少代码的重复性增强代码的可读性# 面向过程式编程,测量对象元素个数s = 'aasdasdaskfl'count = 0 for i in s: count += 1l1 = [1,2,3,4]count = 0for i in l1: ...
2019-07-06 17:19:00
96
转载 Python -- colllection模块
在内置数据类型(dict , list , set , tuple)的基础上,collection模块还提供了几个额外的数据类型:Counter deque defaultdict namedtuple OrderedDict.namedtuple :生产可以使用名字来访问元素内容的tuplefrom collections import namedtuplePoint = ...
2019-07-04 21:38:00
150
转载 Python -- log日志
6.5 logging日志工作日志分为四个大类:系统日志:记录服务器的一些重要的信息:监控系统,cpu温度,网卡流量,重要的硬件的一些指标,运维人员经常使用的,运维人员记录操作的一些指令.网站日志:访问宜昌,卡顿,网站一些板块,受欢迎程度,访问量,点击率等等,蜘蛛爬取次数等.辅助开发日志:开发人员在开发项目中,利用日志进行排错,排除一些避免不了的错误(记录),辅助开发.记录用...
2019-07-03 21:44:00
134
转载 Python -- 模块-包
包就是一个包含有__init__.py 文件的文件夹,创建包的目的就是为了用文件夹将文件/模块组织起来在Python3中,即使包下没有__init__.py文件,import包不会报错,而在Python2中,包下一定要有该文件,否则import包会报错.创建包的目的不是为了运行,而是被导入,包只是模块的一种形式,包的本事就是一种模块.1.关于包相关的导入语句也分为import和...
2019-07-01 21:55:00
67
转载 Python -- sys模块
sys模块-- sys模块是与python解释器交互的一个接口sys.path # 返回模块的搜索路径,初始化时使用PYTHONPATH环境变量的值 ***sys.argv 命令行参数List,第一个元素是程序本身路径sys.exit(n) 退出程序,正常退出时exit(0),错误退出sys.exit(1)sys.version ...
2019-06-30 19:24:00
89
转载 Python -- 序列化模块
6.2.1序列化模块 -- 将一种数据结构转化成特殊的序列(特殊的字符串,bytes)并且还可以反转回去json模块 : (重点)不同语言都遵循的一种数据转化格式,即不同语言都使用的特殊字符串。(比如Python的一个列表[1, 2, 3]利用json转化成特殊的字符串,然后在编码成bytes发送给php的开发者,php的开发者就可以解码成特殊的字符串,然后在反解成原数组(列表...
2019-06-28 22:08:00
63
转载 Python -- 自定义模块
模块的分类:第一类: 内置模块,也叫标准库.次来模块是Python解释器提供的,比如time,os模块.标准库模块有200多种.第二类: 第三方模块,第三方库. 一些Python大神写的非常好用的模块,必须通过pip install指令安装模块.比如BeautifulSoup , Django等.大概有6000多种.第三类: 自定义模块. 自己在项目中定义的一些模块6.1 自...
2019-06-26 20:33:00
107
转载 Python -- 装饰器
5.15 装饰器开放封闭原则封闭原则: 不改变源码.开放原则: 更新增加一些额外的功能.Python中装饰器:完美的诠释开放封闭原则装饰器就是一个函数:装饰一个函数,在不改变原函数的源码以及调用方式的前提下,给其增加一个额外的功能# 装饰器模板def warpper(f): def inner(*args,**kwargs): # * 在定义函数: 聚合...
2019-06-25 21:28:00
68
转载 Python -- 闭包
5.14 闭包什么是闭包?闭包是存在嵌套函数当中的,内层函数对外层函数非全局变量的引用,这样就会产生一个闭包,所引用的变量就是一个自由变量,这个自由变量不会随着函数的结束而消失,会一直保存在内存,最终目的保证数据的安全# 第一版: 没有保证数据的安全l1 = [] #全局变量def make_average(price): l1.append(price) ...
2019-06-24 21:59:00
166
转载 Python -- 内置函数
5.13 内置函数匿名函数: 函数名 = lambda 参数:返回值1) 此函数不是没有名字,他是有名字的,他的名字就是你给其设置的变量,比如func.2)lambda 是定义匿名函数的关键字,相当于函数的def.3)lambda 后面直接加形参,形参加多少都可以,只要用逗号隔开就行。4)返回值在冒号之后设置,返回值和正常的函数一样,可以是任意数据类型。5)匿名函数不管多复杂...
2019-06-23 16:17:00
133
转载 Python -- 函数之推导式
5.12 推导式l = []for i in range(1,11): l.append(i)print(l)# 用列表推导式 (一行搞定)l = [i for i in range(1,11)]print(l)列表推导式可分为两种模式:循环模式: [变量(加工的变量) for 变量 in iterable(可迭代对象)]筛选模式: [变量(加工的变量) ...
2019-06-21 21:54:00
263
转载 Python -- 生成器
5.11 生成器生成器初识 : 生成器本质就是迭代器。python社区生成器与迭代器是一种。生成器与迭代器的唯一区别:生成器是我们自己用python代码构建的。生成器的产生方式:通过生成器函数通过生成器推导式Python内置函数或者模块提供# 之前的函数def fucn(): print(123) return 456ret = func()pr...
2019-06-20 22:02:00
102
转载 Python -- 可迭代对象和迭代器
5.9 可迭代对象可迭代对象: str , list , tuple , set , dict , range1.在Python中,但凡内部有__iter__方法的对象,都是可迭代对象2.查看对象内部的方法,可以通过dir()去判断一个对象具有的方法s = "Agoni"print(dir(s))# dir()可以返回一个列表,这个列表中含有该对象的以字符串的形式所有的方法...
2019-06-19 19:52:00
82
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人