自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

转载 beautifulsoup4模块

Beautifulsoup4模块 简称BS4 from bs4 import BeautifulSoup soup = BeautifulSoup(content,'html.parser') #1.生成一个BeautifulSoup对象 for tag in soup.find_all(): #针对script标签 应该直接删除 if tag.n...

2019-10-05 22:12:00 253

转载 Auth认证模块

1.什么是Auth模块? Auth模块是Django自带的用户认证模块。 我们在开发大多数网站时,无可避免的就是需要用户的登录,注册,注销,及修改密码等功能。 而Django帮我们都封装好了,Auth模块内置了强大的用户认证统一auth,它默认使用auth_user表来存储用户数据。 2.auth模块常用方法 from django.contrib import aut...

2019-10-03 22:25:00 284

转载 BBS之生成随机验证码

生成随机验证码 views.py 首先需要下载一个pillow模块 pip3 install pillow from PIL import Image,ImageDraw,ImageFont #导入pillow模块 ''' Image:生成图片 ImageDraw:在图片上写东西 相当于画笔 ImageFont: 控制字体样式的 ''' from io...

2019-10-01 14:47:00 346

转载 django之forms组件

forms组件能够直接帮助我们完成三步操作:  1.渲染前端页面  2.校验数据是否合法 3.展示错误信息 一.forms组件基本用法 1.写一个基础的forms.Form的类 from django import forms class LoginForm(forms.Form): username = forms.CharField(max_l...

2019-09-25 18:47:00 186

转载 django之ORM表多对多三种创建方式

多对多三种创建方式 1.全自动(推荐使用 *)   优势:不需要你手动创建第三张表   不足:由于第三张表不是你手动创建的,也就意味着第三张表字段是固定的无法做到扩展 class Book(models.Model): title = models.CharField(max_length=32) price = models.DecimalField(...

2019-09-25 17:29:00 210

转载 django之session cookie

cookie与session 前提:由于http协议是无状态的,无法记录用户的状态,因此我们就利用cookie与session来帮助我们完成状态记录保存。 cookie cookie就是保存在客户端浏览器上的键值对   工作原理:当你登陆成功之后 浏览器上会保存一些信息,下次再访问的时候,就会带着这些信息去访问服务端 服务端通过这些信息就可以识别出你的身份   cookie虽然...

2019-09-25 17:20:00 171

转载 自定义分页器

自定义分页器 批量插入数据到数据库 bulk_create() 批量插入数据 # for i in range(1000): # models.Book.objects.create(title='第%s本书'%i) # 上面这种方式 效率极低 ...

2019-09-24 18:11:00 121

转载 Django与AJAX

AJAX简介 AJAX中文就是“异步的Javascript和XML”。即使用JavaScript语言与服务器进行异步交互,传输的数据为XML(当然,传输的数据本仅仅时XML) AJAX不是新的编程语言,而是一种现有的标准新方法 AJAX不需要任何浏览器插件,但需要用户允许JavaScript在浏览器上执行   同步交互:客户端发出一个请求后,需要等待服务器响应结束后,才能发出第二...

2019-09-24 18:05:00 158

转载 django之Models里常用小参数choices

choices字段参数 应用场景: 如果你需要创建一个有固定值的字段且这个字段的值是字符类型的,我们需要用到choices字段参数。 原因:因为在数据库中存字符类型的数据会大于其他数字类型的数据,而我们仅仅需要那几个固定的字符类型的值。在这种情况下如果我们要建立一个大型的网站,里面会有成千上万的数据,我们使用choices会大大减少数据库的存储压力。 案例: 建立一张User用户...

2019-09-23 18:26:00 1150

转载 django之跨表查询及添加记录

创建表 书籍模型: 书籍有书名和出版日期,一本书可能会有多个作者,一个作者也可以写多本书,所以作者和书籍的关系就是多对多的关联关系(many-to-many);一本书只应该由一个出版商出版,所以出版商和书籍是一对多关联关系(one-to-many)。 创建一对一的关系:OneToOne("要绑定关系的表名") 创建一对多的关系:ForeignKey("要绑定关系的表名") 创建...

2019-09-21 22:47:00 335

转载 django之数据库表的单表查询

添加表记录 对于单表有两种方式 #添加数据的两种方式 #方式一:实例化表的对象 就是一条记录 student_obj = models.Student(name="zzp",course="python",birth="2019-9-19",grade=80) student_obj.save() #方式二 models.Student.objects.create...

2019-09-20 01:42:00 162

转载 django之ORM数据库操作

ORM介绍 映射关系:   表名------------------》类名   字段------------------》对象 (点)属性   表记录----------------》类实例化的对象 ORM的两大功能:   操作表:     -创建表     -修改表     -删除表   操作数据行:     -增删改查 ORM利用pymysql第三方工具链接数...

2019-09-19 23:15:00 136

转载 Django框架之模板继承和静态文件配置

一.模板继承 目的是:减少代码的冗余 语法: {% block classinfo %} {% endblock %} 具体步骤: 1、创建一个base.html文件,2、把要显示的页面的内容写在这里面,也就是html要在浏览器显示的内容3、在right里面写个盒子  {% block classinfo %}   {% endblock %}在这里面写个空盒子...

2019-09-19 16:18:00 134

转载 Django框架之模板语法

一.什么是模板? 只要是在html里面有模板语法就不是html文件了,这样的文件就叫做模板。 二.模板语法分类 模板语法之变量:语法为{{}}: 在Django模板中遍历复杂数据结构的关键是句点字符 views.py def index(request): name = "hello haiyan" i = 200 l = [11,22,3...

2019-09-19 16:07:00 152

转载 Django框架之反向解析

在使用Django项目时,一个常见的需求时获得URL的最终形式,以用于嵌入到生成的内容中(视图中和显示给用户的URL等)或者用于处理服务器端的导航(重定向等) 人们强烈希望不要硬编码这些URL(费力,不可扩展且容易产生错误)或者设计一种与URLconf毫不相关的专门的URL生成机制,因为这样容易导致一定程度上产生过期的URL。 换句话讲,需要的时一个DIY机制。除了其他的点,他还允许...

2019-09-17 01:47:00 203

转载 Django框架--基础

一个小问题: 什么是根目录:就是没有路径,只有域名。url(r'^$') 补充一张关于wsgiref模块的图 MTV模型 Django的MTV分别代表:   Model(模型):和数据库相关的,负责业务对象与数据库的对象(ORM)   Template(模板):放所有的html文件          模板语法:目的是将白变量(数据库的内容)如何巧妙的嵌入到html...

2019-09-16 17:46:00 185

转载 正则表达式

向我们平常见的那些注册页面啥的,都需要我们输入手机号码,你想我们的电话号码也是有限的吧。(手机号码一i共11位,并且只以13,14,15,17,18开头的数字这些特点)如果你的输入有误就会提示,那么现实中这个程序的话你觉得用while循环判断简单吗,那么我们看看实现结果 while True: phone_number=input('请输入你的电话号码:') i...

2019-09-16 13:02:00 152

转载 自定义Web框架

Web框架本质 我们可以这样理解:所有的web应用本质上就是一个socket服务端,而用户的浏览器就是一个socket客户端。这样我们就可以自己实现web框架了。 半成品自定义web框架 import socket sk = socket.socket() sk.bind('127.0.0.1',8080) sk.listen() while True: ...

2019-09-16 01:25:00 157

转载 粘包现象

什么是粘包 须知:只有TCP有粘包现象,UDP永远不会粘包 粘包不一定会发生 如果发生了:1。可能是在客户端已经粘了       2.客户端没有粘,可能是在服务端粘了 首先需要掌握一个socket收发消息的原理 应用程序所看到的数据是一个整体,或者说是一个流(stream),一条消息有多少字节对应用程序是不可见的,因此Tcp协议是面向流的协议,这也是容易出现粘包问...

2019-09-14 17:29:00 136

转载 SOCKET的简单介绍

客户端/服务器架构 1.硬件C/S架构(打印机) 2.软件C/S架构(互联网中处处是C/S架构):B/S架构也是C/S架构的一种,B/S是浏览器/服务器 C/S架构与socket的关系:我们用socket就是为了完成C/S架构的开发 OSI七层协议(*******) 互联网协议按照功能不同分为osi七层或tcp/ip五层或tcp/ip四层 每层运行常见物理设备 ...

2019-09-14 17:04:00 256

转载 jQuery基本语法

为什么要用jQuery? 写起来简单,省事,开发效率高,兼容性好(write less,do more). 什么事jQuery? jQuery是一个兼容多浏览器的JavaScript库(类似python里面的模块), 如何使用jQuery? 导入: <script src="jquery-3.2.1.js"></script>     <sc...

2019-09-11 23:35:00 130

转载 前端基础之BOM和DOM

概念 JavaScript分为ECMAScript,DOM,BOM BOM(Browser Object Model) 是指浏览器对象模型,它使JavaScript有能力与浏览器进行对话。 DOM(Document Object Model) 是指文档对象模型,通过它,可以访问HTML文档的所有元素。 Window对象是客户端JavaScript最高层对象之一,由于win...

2019-09-10 20:56:00 132

转载 JavaScript

JavaScript基础 1.JS的引入方式 1 直接编写 <script> alert('hello yuan') </script> 2 导入文件 <script src="hello.js"></script> 2.JS的语言规范 注释 // 这是单行注释 ...

2019-09-08 23:57:00 147

转载 前端CSS属性相关

CSS属性相关 宽和高 width属性可以为元素设置宽度 height属性可以为元素设置高度 块级标签才能设置宽度,内联标签的宽度由内容来决定 字体属性 文字字体 body { font-family:"Microsoft Yahei","微软雅黑","Arial",sans-serif } 字体大小 p { font-size:14px; }...

2019-09-06 16:40:00 146

转载 前端CSS

CSS(层叠样式表):定义如何显示HTML元素 CSS选择器 基本选择器 元素选择器 p{color:"red";} ID选择器 #i1{ background-color:red; } 类选择器 .c1{ font-size:14px; } p.c1{ color:red; } 注意:   样式类名...

2019-09-06 12:56:00 118

转载 html之form表单

form表单 功能:表单用于向服务器传输数据,从而实现用户与Web服务器的交互   表单能够包含input系列标签,比如文本字段,复选框,单选框,提交按钮等等   表单还可以包含textarea,select,fieldset和label标签。 表单属性   action:表单提交到哪,一般指向服务器端一个程序,程序接收到表单提交过来的数据(即表单元素值)作相应处理,比如htt...

2019-09-03 22:17:00 194

转载 前端知识之html

一.初始html 1.web服务本质 import socket sock=socket.socket(socket.AF_INET,socket.SOCK_STREAM) sock.bind(("127.0.0.1",8800)) sock.listen(5) while 1: print("waiting........") conn,addr=s...

2019-09-03 18:10:00 280

转载 mysql之视图,触发器,事物等

一.视图 视图是一个虚拟表(非真实存在的),其本质时[根据SQL语句获取动态的数据集,并为其命名],用户使用时只需使用[名称] 即可获取结果集,可以将该结果集当作表来使用。 使用视图我们可以把查询过程中的临时表摘出来,用视图去实现,这样以后再想操作该临时表的数据时就无需重写复杂的sql了,直接去视图中查找即可,但视图有明显地效率问题,并且视图是存放在数据库中的,如果我们程序中使用的s...

2019-08-23 20:23:00 85

转载 并发编程之 协程

协程 (单线程下实现并发)   进程:资源单位   线程:执行单位   协程:单线程下实现并发 并发:切换+保存状态 程序员自己通过代码自己检测程序中的IO 一旦遇到了IO自己通过代码切换 给操作系统的感觉就是你这个线程没有任何的IO 从而提升代码的运行效率 切换+保存状态一定能够提升效率吗?   1.当任务是IO密集型的情况下 提升效率   ...

2019-08-16 12:00:00 101

转载 并发编程之线程池,进程池

一.为什么引入池的概念,什么是池 池   受限于硬件的发展,硬件跟不上软件的发展   在保证计算机硬件安全的情况下,最大限度的利用了计算机   池其实是降低了程序的运行效率,但是保证了计算机硬件的安全 我们再使用进程和线程时,不可能无限制的去开进程或线程。因此我们需要用到进程池,线程池来解决这一问题。 二.Python模块-----concurrent.futures 模块(...

2019-08-16 10:43:00 95

转载 初始线程的相关理论

一、什么是线程 线程:顾名思义,就是一条流水线工作的过程,一条流水线必须属于一个车间,一个车间的工作过程是一个进程 所以,进程只是用来把资源集中到一起(进程只是一个资源单位,或者说资源集合),而线程才是cpu上的执行单位。  多线程(即多个控制线程)的概念是,在一个进程中存在多个控制线程,多个控制线程共享该进程的地址空间,相当于一个车间内有多条流水线,都共用一个车间的资源。(一个进...

2019-08-15 12:00:00 101

转载 线程相关(二)

一. TCP server端通过线程实现并发 server端 1 from threading import Thread 2 import socket 3 4 sk = socket.socket() 5 sk.bind(('127.0.0.1',8080)) 6 sk.listen() 7 8 9 def talk(conn): 1...

2019-08-15 11:44:00 88

转载 线程相关(一)

一.进程间通信 1.进程间通信之队列:先进先出 1 from multiprocessing import Queue 2 3 q = Queue(5) #参数表示的是队列的最大存储数 4 #往队列中添加数据 5 q.put(1) 6 q.put(2) 7 print(q.full()) #q.full()是判断队列是否满了 8 q.put(3...

2019-08-13 13:52:00 117

转载 进程相关(一)

一.计算机发展史   多道技术     1.空间上的复用:多个程序共用一套计算机硬件     2.时间上的复用        切换+保存状态         1.当一个程序遇到IO操作 操作系统会剥夺该程序的CPU执行权限(提高了CPU的利用率)         2.当一个程序长时间占用CPU,操作系统也会剥夺其执行权限(降低了程序的执行效率) 二.进程的理论 程序:一...

2019-08-09 21:48:00 147

转载 网络编程(三)

一.大文件的上传下载 server端 1 import socket 2 import os 3 import json 4 import struct 5 6 server = socket.socket() 7 server.bind(('127.0.0.1',8080)) 8 server.listen() 9 10 while Tr...

2019-08-08 22:22:00 82

转载 网络编程(二)

一.socket(套接字) 1.基于TCP协议的socket通信 sever端 1 import socket 2 sk = socket.socket() 3 sk.bind(('127.0.0.1',8898)) #把地址绑定到套接字 4 sk.listen() #监听链接 5 conn,addr = sk.accept() #接受...

2019-08-07 16:19:00 95

转载 网络编程(一)

一.软件开发架构   1.c/s架构(client/server)       c:客户端       s:服务器   2.b/s架构(browser/server)       b:浏览器       s:服务器 ps:b/s架构的本质也是c/s架构 二.OSI协议 计算机与计算机之间实现远程通信需要有一套公共的标准/协议协议 1.OSI协议   OSI七层协议 ...

2019-08-06 18:47:00 90

转载 面向对象之反射,元类

一.反射 1.什么是反射 反射的概念是由Smith在1982年首次提出的,主要是指程序可以访问,检测和修改它本身状态或行为的一种能能力(自省)。 2.python中的反射 反射是所有面向对象编程语言都具备的功能 python中通过一下四个函数来实现反射 1 hasattr(object,name) #判断对象是否拥有某个属性 2 setattr(object,name...

2019-07-30 16:52:00 134

转载 面向对象之多态以及进阶

一.多态 1.什么是多态? 多态是一种事物具备多种不同的形态 官方解释:多个不同类对象可以响应同一个方法,产生不同的结果 2.多态的好处:   对于使用者而言,大大的降低了使用难度 3.怎么实现多态: python中处处都是多态,例如:接口,抽象类,鸭子类型,都可以写出具备多态的代码,其中最简单的就是鸭子类型。 案例: 1 class Ji: 2 de...

2019-07-29 16:34:00 152

转载 面向对象之封装

一.什么是封装   封装就是将复杂的丑陋的,隐私的细节隐藏到内部,对外提供简单的使用接口   对外隐藏内部实现细节,并提供访问的接口 二.为什么需要封装   1.为了保证关键数据的安全性   2.对外部隐藏实现细节,隔离复杂度 三.什么时候应该封装   1.当有一些数据不希望外界可以直接修改时,   2.当有一些函数不希望给外界使用时 四.如何使用: 1 clas...

2019-07-26 15:05:00 190

空空如也

空空如也

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

TA关注的人

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