摘要:一.URL路由基础 URL是Web服务的入口,用户通过浏览器发送过来的如何请求,都是发送到一个知道的URL地址,然后被响应。 URL路由在Django项目中的体现就是urls.py文件,这个文件可以是多个的,但绝对不会再同一目录下.实际上Django提倡项目有个根urls.py,各个app下分
阅读全文
文章分类 - python基础
python
摘要:一.URL路由基础 URL是Web服务的入口,用户通过浏览器发送过来的如何请求,都是发送到一个知道的URL地址,然后被响应。 URL路由在Django项目中的体现就是urls.py文件,这个文件可以是多个的,但绝对不会再同一目录下.实际上Django提倡项目有个根urls.py,各个app下分
阅读全文
摘要:一.创建APP 二.模板路径配置 三.静态文件配置 四.登录功能 login.html views.py 五.get请求和post请求 六.新手三件套 七.ORM介绍
阅读全文
摘要:一.Web应用程序 1.web应用程序介绍 2.B/S架构优点 3.基于SOCKET写一个应用 py文件 html文件 二.HTTP协议 1.http协议简介 2.http协议特性 3.http请求协议与响应协议 请求格式: 响应格式: 响应状态码 状态码的职 是当客户端向服务器端发送请求时,
阅读全文
摘要:内容: 1.navicat 2.视图 3.事务 4.存储过程 5.触发器(无) 6.函数(无) 2.视图 2.视图 视图是什么? 视图是什么? 本质是一张虚拟的表 本质是一张虚拟的表 他的数据来自select语句 他的数据来自select语句 有什么用? 有什么用? 原表安全 原表安全 案例: 在一
阅读全文
摘要:正则表达式匹配 正则表达式用于模糊查询 like 仅支持 % 和 _ 远没有正则表达式灵活当然绝大多数情况下 like足够使用 语法: insert into emp values(1,"laowangba","男",26,1,"总监",5800); insert into emp values(1
阅读全文
摘要:内容 内容 查询语句 1.完整查询语句 2.一堆关键字 关键字的执行顺序 3.单表查询 [where 条件 ****** group by 字段名 *** having 条件 *** order by 字段名 ***** limit 显示的条数] ******* 4.多表查询 ******* 5.子
阅读全文
摘要:内容: 1.约束 1.not null 非空约束 数据不能为空 2.default 默认值约束 可以指定字段的默认值 3.unique 唯一性约束 该字段的值不能重复 4.primary key ****** 5.auto_increment:自动增长****** 6.foreign key:外键*
阅读全文
摘要:数据存储引擎 数据存储引擎 什么是引擎 ? 一个功能的核心部分 什么是引擎 ? 一个功能的核心部分 引擎可以被分类 引擎可以被分类 为什么要分类? 为什么要分类? 自然 增压的 汽油 柴油 电动 混合动力 天然气 核动力 烧水 自然 增压的 汽油 柴油 电动 混合动力 天然气 核动力 烧水 汽油 动
阅读全文
摘要:1.什么是数据库? 数据库即存放数据的仓库,只不过这个仓库是在计算机存储设备上,而且数据是按一定的格式存放的过去人们将数据存放在文件柜里。2.为什么用数据库? 现在数据量庞大,已经不再适用数据库是长期存放在计算机内、有组织、可共享的数据即可。数据库中的数据按一定的数据模型组织、描述和储存,具有较小的
阅读全文
摘要:1.进程池\线程池(同步&异步 阻塞&非阻塞) 2.协程 Python通过yield提供了对协程的基本支持,但是不完全。而第三方的gevent为Python提供了比较完善的协程支持。 gevent是第三方库,通过greenlet实现协程,其基本思想是: 当一个greenlet遇到IO操作时,比如访问
阅读全文
摘要:''' 1. 什么是GIL全局解释器锁 GIL本质就是一把互斥锁,既然是互斥锁,所有互斥锁的本质都一样,都是将并发运行变成串行,以此来控制同一时间内共享数据只能被一个任务所修改,进而保证数据安全。相当于执行权限,每个进程内都会存在一把GIL,同一进程内的多个线程 必须抢到GIL之后才能使用Cpyth
阅读全文
摘要:内容: 进程部分: 线程部分: 1. 线程理论() 2.开启线程的两种方式() 3. 线程对象其他相关的属性或方法 4. 守护线程 5. 线程互斥锁 进程部分: 1. 进程间通信=>IPC 基于之前互斥锁的学习,可以实现进程间通过共享硬盘的数据并使用互斥锁的方法处理数据的基础上实现,但是此方法存在问
阅读全文
摘要:内容: 1. 开启进程的两种方式(*****) 2. 进程对象的join方法(*****) 3. 进程之间内存空间隔离(*****) 4. 进程对象其他相关的属性或方法 5. 僵尸进程与孤儿进程 6. 守护进程 7. 互斥锁 进程的理论: 1 什么是进程 进程指的是一个正在进行/运行的程序,进程是用
阅读全文
摘要:udp协议又称数据报协议。不像TCP那样的流式发送报文,所以没有粘包问题。 客户端发送一个数据报,服务端接收一个数据报。 udp通信不需要建立连接,随发随收,但是无保障是其一个缺点。 由于udp通信不需要建立连接,所以可以实现表面上的并发编程。其实当访问服务器人数过多时,就达不到并发效果了。所以引入
阅读全文
摘要:tcp套接字通信的进阶实现如下:# 基于tcp套接字‘一次性通信’ 1 模拟电话通信 1:用打电话的流程快速描述socket通信 2:服务端和客户端加上基于一次链接的循环通信 3:客户端发送空,卡主,证明是从哪个位置卡的存在的问题: 1.必须是服务端先启动,然后客户端再启动 2.客户端发送完成后就断
阅读全文
摘要:网络编程介绍 C/S: Client 基于网络 Server B/S: Browser 基于网络 Server 网络建立的目的是为数据交互(通信) 如何实现通信: OSI七层协议 ip+mac可以标识全世界范围内独一无二的一台计算机的位置 port可以标识一台计算机之上唯一的一个基于网络通信的应用软
阅读全文
摘要:一、classmethod装饰器 输出结果 <main.MySQL object at 0x058D6F30> <main.MySQL object at 0x058D6F30> {'ip': '192.168.13.98', 'port': '3306'} <main.MySQL object a
阅读全文
摘要:__str__ # __str__: 在对象被打印时自动触发,可以用来定义对象被打印时的输出信息 # 注意:必须返回一个字符串类型的值 # class People: # def __init__(self, name, age): # self.name = name # self.age = a
阅读全文
摘要:组合 1. 什么是组合 组合指的是某一个对象拥有一个属性,该属性的值是另外一个类的对象 class Foo: pass class Bar: pass obj=Foo() obj.attr=Bar() obj.xxx obj.attr.yyy2. 为何要用组合 通过为某一个对象添加属性(属性的值是另
阅读全文
|