自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(81)
  • 收藏
  • 关注

原创 auth认证模块

Auth认证模块1 Auth模块是什么Auth模块是Django自带的用户认证模块:我们在开发一个网站的时候,无可避免的需要设计实现网站的用户系统。此时我们需要实现包括用户注册、用户登录、用户认证、注销、修改密码等功能,这还真是个麻烦的事情呢。Django作为一个完美主义者的终极框架,当然也会想到用户的这些痛点。它内置了强大的用户认证系统–auth,它默认使用 auth_user 表来存储...

2018-11-04 18:59:24 617

原创 MongDB的介绍

MongDB的介绍一.初识MongoDB1.1 MongoDB简介MongoDB 是一个基于分布式文件存储的数据库。由 C++ 语言编写。旨在为 WEB 应用提供可扩展的高性能数据存储解决方案。MongoDB 是一个介于关系数据库和非关系数据库之间的产品,是非关系数据库当中功能最丰富,最像关系数据库的。1.2 数据库的对比关系型数据库的表非关系型数据库的表数据库,no...

2018-11-04 15:41:01 415

原创 ContentType组件

ContentType组件一 项目背景项目,有课程,学位课(不同的课程字段不一样),价格策略问题,1 如何设计表结构,来表示这种规则  2 为专题课,添加三个价格策略3 查询所有价格策略,并且显示对应的课程名称4 通过课程id,获取课程信息和价格策略二 版本一一个课程表,包含学位课和专题课,一个价格策略表,一对多关联三 版本二学位课表,专题课表,装逼课表,价格策略表(在价格策...

2018-10-31 08:30:34 223

原创 cookie与session组件

Cookie与Session组件什么是会话跟踪我们需要先了解一下什么是会话!可以把会话理解为客户端与服务器之间的一次会晤,在一次会晤中可能会包含多次请求和响应。例如你给10086打个电话,你就是客户端,而10086服务人员就是服务器了。从双方接通电话那一刻起,会话就开始了,到某一方挂断电话表示会话结束。在通话过程中,你会向10086发出多个请求,那么这多个请求都在一个会话中。在Web中,客户...

2018-10-30 15:04:29 213

原创 rest_framework之认证

rest_framework之认证组件一 认证简介只有认证通过的用户才能访问指定的url地址,比如:查询课程信息,需要登录之后才能查看,没有登录,就不能查看,这时候需要用到认证组件二 局部使用(1)models层:class User(models.Model): username=models.CharField(max_length=32) password=mode...

2018-10-30 14:53:07 474

原创 redis使用

Django-redis一 简介redis是一个key-value存储系统。和Memcached类似,它支持存储的value类型相对更多,包括string(字符串)、list(链表)、set(集合)、zset(sorted set --有序集合)和hash(哈希类型)。这些数据类型都支持push/pop、add/remove及取交集并集和差集及更丰富的操作,而且这些操作都是原子性的。在此基础上...

2018-10-26 22:25:04 155

原创 windows安装redis

windows 下redis安装和使用1、要安装Redis,首先要获取安装包。Windows的Redis安装包需要到以下GitHub链接找到。链接:https://github.com/MSOpenTech/redis。打开网站后,找到Release,点击前往下载页面。2、在下载网页中,找到最后发行的版本(此处是3.2.100)。找到Redis-x64-3.2.100.msi和Redis-x...

2018-10-26 22:21:45 227

原创 rest-framework之分页器

目录一  简单分页(第n页,每页n条) 二  偏移分页(在第n条,向后移动n条) 三  加密分页(只能看上一页和下一页) 一 简单分页from rest_framework.pagination import PageNumberPagination# 一 基本使用:url=url=http://127.0.0.1:8000/pager/?page=2&size=3,...

2018-10-23 19:23:17 213

原创 rest_framework之版本控制

目录一 作用 二 内置版本的控制类 三 局部使用 四 全局使用 五 示例 六 源码分析一 作用  用于控制版本的实现 二 内置版本的控制类from rest_framework.versioning import QueryParameterVersioning,AcceptHeaderVersioning,NamespaceVersioning,URLP...

2018-10-23 17:05:02 210

原创 rest-framework之url控制

目录一 自定义路由(原始方式) 二 半自动路由(视图类继承ModelViewSet类) 三 全自动路由(视图类继承ModelViewSet类,自动生成路由)一 自定义路由(原始方式) from django.conf.urls import urlfrom app01 import viewsurlpatterns = [ url(r'^books/$', vi...

2018-10-21 22:53:07 422

原创 rest-framework之解析器

目录一 解释器的作用 二 全局使用解释器 三 局部使用解释器 四 源码分析 一 解释器的作用 根据请求头 content-type 选择对应的解析器对请求体内容进行处理。有application/json(json格式字符串),x-www-form-urlencoded,form-data(文件)等格式。 二 全局使用解释器settings.py 配置文...

2018-10-21 21:02:00 201

原创 rest-framework之视图

一 基本视图 写一个出版社的增删查改resful接口:路由:url(r'^publish/$', views.PublishView.as_view()) url(r'^publish/(?P<pk>\d+)/$', views.PublishDetailView.as_view()),#匹配两个视图函数,上面一个函数对应的get:取出所有出版社数据,pos...

2018-10-15 22:54:28 155

原创 rest-framework之序列化组件

一 rest-framework序列化之Serializer models部分:from django.db import models# Create your models here.class Book(models.Model): title=models.CharField(max_length=32) price=models.IntegerFi...

2018-10-15 22:28:55 276

原创 rest-framework之APIView

一 安装djangorestframework方式一:pip3 install djangorestframework方式二:pycharm图形化界面安装方式三:pycharm命令行下安装(装在当前工程所用的解释器下) 二  djangorestframework的APIView分析 导入APIViewfrom  as_view 方法@classmet...

2018-10-14 13:14:58 560

原创 Restful规范

一 什么是restfulrest与技术无关,代表的是一种软件架构风格 rest从资源的角度审视整个网络,通过url获取的资源的表征,使应用转变状态 所有得数据都是资源,是restful的本质,是一种面向资源的架构 二  RESTful API设计 API与用户的通信协议,总是使用HTTPs协议。 域名  https://api.example.com         ...

2018-10-12 21:27:20 957

原创 前端 页面组件

1. 超级链接1.1 a 元素属性href 路径 target _blank / _self _blank 为从新窗口打开 self为默认当前窗口 title 提示信息 download H5新增的 文件下载<a href="http://www.taobao.com" title="淘宝" target="_blank" download>下载的图片</...

2018-07-29 15:15:38 1039

原创 前端介绍 HTML与CSS基础

前端1 什么是前端前端即网站前台部分,运行在PC端,移动端等浏览器上展现给用户浏览的网页。随着互联网技术的发展,HTML5,CSS3,前端框架的应用,跨平台响应式网页设计能够适应各种屏幕分辨率,完美的动效设计,给用户带来极高的用户体验。前端技术一般分为前端设计和前端开发,前端设计一般可以理解为网站的视觉设计,前端开发则是网站的前台代码实现,包括基本的HTML和CSS以及JavaScri...

2018-07-29 15:14:25 559

原创 视图,触发器,事务,存储过程,函数与流程控制,索引

 一、视图1、什么是视图   虚拟表:在硬盘中没有的,通过查询在内存中拼接的表   视图:通过查询得到一张虚拟表,保存下来,下次可直接使用 2、为什么要用视图   如果要频繁使用一张虚拟表,可以不用重复查询 3、如何用视图create view teacher2course as select * from teacher inner join course...

2018-07-29 15:11:52 735

原创 子查询 navicat可视化,pymysql用法

二、 子查询(一个问题一个问题解决)把一个查询语句用括号括起来,当做另外一条查询语句的条件去用,称为子查询 select name from emp where dep_id = (select id from dep where name="技术");  #子查询select emp.name from emp inner join dep on emp.dep_id = d...

2018-07-29 15:10:07 776

原创 数据库单表多表查询及优先级

单表查询一、语法顺序select distinct 查询字段1,查询字段2,。。。 from 库名.表名 #distinct是去重    where 分组之前的过滤条件    group by 分组依据    having 分组之后的过滤条件    order by 排序字段    limit 显示的条数; 二、执行顺序def from(dir,file):...

2018-07-29 15:08:13 1815

原创 数据库表关系

2018-07-29 15:06:31 195

原创 数据库字符类型与约束条件

字符类型一、 创建表的完整语法#[]内的可有可无,即创建表时字段名和类型是必须填写的,宽度与约束条件是可选择填写的。create table 表名(字段名1 类型[(宽度) 约束条件],字段名2 类型[(宽度) 约束条件],字段名3 类型[(宽度) 约束条件]); #解释:类型:使用限制字段必须以什么样的数据类型传值约束条件:约束条件是在类型之外添加一种...

2018-07-29 15:04:34 2343

原创 数据库基本概念

一、 数据库相关概念1、两种硬件扩展方式   a、垂直扩展:针对一台计算机   b、水平扩展:多台普通计算机   2、数据库相关概念   数据库服务器(本质就是一个台计算机,该计算机之上安装有数据库管理软件的服务端)--简称数据库(运维角度)   数据库管理管理系统RDBMS(本质就是一个C/S架构的套接字软件)--简称数据库(运维角   注:一般数据库管理系统的服...

2018-07-29 15:03:08 300

原创 协程与IO模型

一。协程1、协程: 单线程实现并发 在应用程序里控制多个任务的切换+保存状态 优点: 应用程序级别速度要远远高于操作系统的切换 缺点: 多个任务一旦有一个阻塞没有切,整个线程都阻塞在原地 该线程内的其他的任务都不能执行了 一旦引入协程,就需要检测单线程下所有的IO行为, 实现遇到I...

2018-07-17 20:00:08 562

原创 GIL 与线程池进程池

1、什么是GIL(这是Cpython解释器) GIL本质就是一把互斥锁,那既然是互斥锁,原理都一样,都是让多个并发线程同一时间只能 有一个执行 即:有了GIL的存在,同一进程内的多个线程同一时刻只能有一个在运行,意味着在Cpython中 一个进程下的多个线程无法实现并行===》意味着无法利用多核优势 但不影响并发的实现 GIL可以...

2018-07-17 19:59:04 218

原创 线程介绍以及使用

一、线程介绍01 什么是线程    进程其实不是一个执行单位,进程是一个资源单位    每个进程内自带一个线程,线程才是cpu上的执行单位    如果把操作系统比喻为一座工厂        在工厂内每造出一个车间===》启动一个进程        每个车间内至少有一条流水线===》每个进程内至少有一个线程    线程=》单指代码的执行过程    进程-》资源的申请与销毁的过程02 进程vs线程  ...

2018-07-13 17:13:17 121

原创 进程以及进程对象的方法和属性

一。进程1、什么是进程    进程指的就是一个正在运行的程序,或者说是程序的运行过程,即进程是一个抽象的概念    进程是起源于操作系统的,是操作系统最核心的概念,操作系统所有其他的概念都是围绕进程展开的    多道技术2、为何要进程    并发3、如何用进程    开启进程的两种方式1.创建子进程的两种方式# # # 方式一:# from multiprocessing import Proce...

2018-07-11 17:29:32 1196

原创 操作系统原理以及发展史

一。操作系统原理1、串行:    一个任务完完整整地运行完毕后,才能运行下一个任务2、并发    看起来多个任务是同时运行的即可,单核也可以实现并发3、并行:    真正意义上多个任务的同时运行,只有多核才实现并行4、cpu的功能:    cpu是用来做计算,cpu是无法执行IO操作的,一旦遇到io操作,应该让cpu去执行别的任务5、多道技术    1、空间上的复用=》多个进程共用一个内存条   ...

2018-07-11 17:26:30 850

原创 基于socketserver实现udp与tcp的并发

一。基于udp协议的套接字服务端import socketclient=socket.socket(socket.AF_INET,socket.SOCK_STREAM)client.connect(('127.0.0.1',8080))while True:    msg=input('<>').strip()    if len(msg)==0:break    client.sen...

2018-07-10 20:20:47 288

原创 tcp套接字ssh远程命令和解决粘包

粘包问题描述:接收到传来的数据过大时,会残留数据,下次软件会在操作系统拿到上次遗留的数据就为粘包问题tcp协议的nagle算法会将数据量较小,并且发送时间间隔较短的多个数据合在一起发解决办法自定义报头服务端from socket import * #优化代码import subprocessimport struct  #pack将整型的数字转换成固定长度的bytes类型 unpick则相反imp...

2018-07-10 20:18:38 361

原创 socket编程

一,socket的定义Socket是应用层与TCP/IP协议族通信的中间软件抽象层,它是一组接口。二,socket的运行流程先从服务器端说起。服务器端先初始化Socket,然后与端口绑定(bind),对端口进行监听(listen),调用accept阻塞,等待客户端连接。在这时如果有个客户端初始化一个Socket,然后连接服务器(connect),如果连接成功,这时客户端与服务器端的连接就建立了。客...

2018-07-07 00:13:02 156

原创 python的异常处理

1、什么是异常 异常是错误发生的信号, 程序一旦出错,如果程序中还没有相应的处理机制 那么该错误就会产生一个异常抛出来 程序的运行也随之终止2、一个异常分为三部分: 1、异常的追踪信息 2、异常的类型 3、异常的值3、异常的分类: 1、语法异常: 这类异常应该在程序执行前就改正 print('start....') ...

2018-07-05 18:10:34 115

原创 网络基础之网络协议篇

1、C/S B/S client<---基于网络通信--->server browser<---基于网络通信--->server server端必须满足的条件: 1、稳定运行(网络、硬件、操作系统、服务端应用软件),对外一直提供服务 2、服务端必须绑定一个固定的地址2、什么是互联网 两大要素 1、底层的物理连接介质,...

2018-07-05 18:04:02 176

原创 python的单例模式

# 一、元类补充:class Mymeta(type): n=444 def __call__(self, *args, **kwargs):#self=Foo obj=self.__new__(self) #创建一个空对象 self.__init__(obj,*args,**kwargs) return objclass...

2018-07-02 17:31:33 118

原创 python的反射与元类

# 一,面向对象的内置函数class Foo: passobj=Foo()print(isinstance(obj,Foo))print(isinstance(Foo,type))# Ture#isinstance()判断是否是对象,第一个参数为对象,第二个为类# 在python3中统一类与类型的概念d={'x':1} #d=dict({'x':1})print(...

2018-06-30 21:22:46 254

原创 python面向对象的封装、绑定方法

'''一。封装1、什么是封装 封:属性对外是隐藏的,但对内是开放的 装:申请一个名称空间,往里装入一系列名字、属性2、为什么要封装 封装数据属性的目的 1 首先定义属性的目的就是为了给类外部的使用者使用的 2 隐藏之后为了不让外部使用者直接使用,需要类内部开辟一个借接口 ...

2018-06-28 21:27:32 161

原创 python面向对象的多态与多态性

# 1.什么是多态# 多态指的是同一种事物的多种形态# 水》冰,水蒸气# 动物》人,狗,猪## 2.为何要用多态# 多态性:# 继承同一个类的多个子类中有相同的方法名# 那么子类产生的对象就可以不用考虑具体的类型而直接调用功能### 3.如何用import abcclass Ainmal(met...

2018-06-27 23:36:18 1792

原创 python子类重用父类的两种方式

#在子类派生的新方法中重用父类功能的两种方法# 方式一:与继承无关# 指名道姓法,直接用类名.函数名的方法# 注意只能当普通函数用,需要把所有的值传入class OldboyPeople: school='oldboy' def __init__(self,name,age,sex): self.name=name self.age=ag...

2018-06-27 23:33:35 1603

原创 python面向对象的菱形继承

#coding:utf-8# 1.菱形继承# 当一个子类继承多个父类时,多个父类最终继承了一个类,称之为菱形继承## 2.菱形继承的问题:# python2区分经典类与新式类,如果子类的继承是一个菱形继承,那么经典类与新式类的区别# 经典类下查找属性:深度优先查找# 新式类下差找属性:广度优先查找class G: def...

2018-06-27 23:32:05 1166

原创 python面向对象组合

# 一。组合# 1、什么是组合:# 组合就是一个类的对象具备某一个属性,该属性的值是指向另外一个类的对象## 2、为何用组合# 组合也是用来解决类与类之间代码冗余问题的## 3、如何用组合# class OldboyPeople:#父类# school='oldboy'## def __init__(self,name,age,sex):#...

2018-06-27 23:30:30 315

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除