01 2020 档案
摘要:Django基础 Django框架简介 Django 静态文件 Django request对象与ORM简介 Django路由系统 Django之视图层 Django之模板层 Django的settings源码分析 Django表模型操作 Django 表关系的创建 Django 单表查询 Djan
阅读全文
摘要:静态文件 什么是静态文件 静态文件是网站页面所使用到的提前已经写好的文件,如css,js,第三方组件 bootstrap,sweetalert,fontawesome等 网站所使用到的html文件统一放到templates文件夹中 那针对网站所使用到的静态文件也应该单独放到一个文件夹中存储,这个文件
阅读全文
摘要:Author模块介绍 Django作为一个完美主义者的终极框架,它内置了强大的用户认证系统--auth,执行数据库迁移的那两条命令时,即使我们没有建表,它默认帮我们创建auth_user 表来存储用户数据。 自定义Auth表单 在modles.py创建表单模型可以对AbstractUser进行继承。
阅读全文
摘要:引入: 通常,钓鱼网站本质是本质搭建一个跟正常网站一模一样的页面,用户在该页面上完成转账功能 转账的请求确实是朝着正常网站的服务端提交,唯一不同的在于收款账户人不同。 如果想模拟一个钓鱼网站,就可是给用户书写一个form表单 对方账户的input框没有name属性,然后你自己悄悄提前写好了一个具有默
阅读全文
摘要:中间件介绍 Django中间件是django的门户。它可以用来在全局范围内改变Django的输入和输出,每个中间件都负责做一些特定的功能。 比如:全局用户身份校验,全局用户访问频率校验,用户访问黑名单。 说的直白一点:中间件是帮助我们在视图函数执行之前和执行之后都可以做一些额外的操作 只要以后用dj
阅读全文
摘要:cookies与session的关系 cookies 在网站中,http请求是无状态的。也就是说即使第一次和服务器连接后并且登录成功后,第二次请求服务器依然不能知道当前请求是哪个用户。cookie的出现就是为了解决这个问题,第一次登录后服务器返回一些数据(cookie)给浏览器,然后浏览器保存在本地
阅读全文
摘要:Form介绍 我们在HTML页面中利用form表单向后端提交数据时,都会写一些获取用户输入的标签并且用form标签把它们包起来。 与此同时我们在好多场景下都需要对用户的输入做校验,比如校验用户是否输入,输入的长度和格式等正确与否。如果用户输入的内容有错误就需要在页面上相应的位置显示对应的错误信息.。
阅读全文
摘要:分页推导 首先我们需要明确的时候,get请求也是可以携带参数的,所以我们在朝后端发送查看数据的同时可以携带一个参数告诉后端我们想看第几页的数据 其次我们还需要知道一个点,queryset对象是支持索引取值和切片操作的,但是不支持负数索引情况 接下来我们就可以推导我们的自定义分页器步骤了 curren
阅读全文
摘要:项目需求:浏览器中访问django后端某一条url(如:127.0.0.1:8080/get_book/),实时朝数据库中生成一千条数据并将生成的数据查询出来,并展示到前端页面 views.py from django.shortcuts import render, HttpResponse, r
阅读全文
摘要:Ajax准备知识 Ajax介绍 AJAX(Asynchronous Javascript And XML)翻译成中文就是“异步的Javascript和XML”。即使用Javascript语言与服务器进行异步交互,传输的数据为XML(当然,传输的数据不只是XML)。 Ajax并不是一门新的语言 它其实
阅读全文
摘要:1、创建app之后注册 settings.py 2、templates文件夹创建以及配置文件中的路径配置 settings.py 3、django连接MySQL 1.配置文件配置 2.__init__文件中书写下面两行代码 4、静态文件配置 1.手动创建static文件夹 2. html页面上动态解
阅读全文
摘要:常用字段 注意: Django中没有设置对应char类型的字段,但可以支持自己定义。 自定义对应于数据库的char类型字段: from django.db.models import Field class RealCharField(Field): ''' 自定义的char类型字段 ''' def
阅读全文
摘要:F查询 from django.db.models import F,Q # 1.查询库存数大于卖出数的书籍 res = models.Book.objects.filter(kucun__gt=F('maichu')) print(res) #<QuerySet [<Book: Book obje
阅读全文
摘要:前期准备: 创建表 class Book(models.Model): title = models.CharField(max_length=32) price = models.DecimalField(max_digits=8,decimal_places=2) publish_time =
阅读全文
摘要:前言 如何只单独测试django中的某一个py文件呢?或者说如何书写测试脚本? 我们可以在任意一个py文件(应用下的tests或者自己新建一个)中书写以下代码: 前期准备 创建一个电影表 class Movie(models.Model): title = models.CharField(max_
阅读全文
摘要:假设有一个conf包,里面放着b.py的模块 b.py name = 'hank' 若a.py文件中想导入b模块 方法一: from conf import b print(b.name) >>>hank 方法二: import_module 把b模块变成了对象,md是一个对象,importlib模
阅读全文
摘要:Django其实有两个配置文件,一个是暴露给用户的可以自定义的配置,一个是项目默认的配置,用户如果配置了就用用户的,没有配置就用默认的。 首先需要在settings文件中导入,然后查看settings源码 from django.conf import global_settings,setting
阅读全文
摘要:一 模板简介 在刚刚介绍完的视图层中我们提到,浏览器发送的请求信息会转发给视图函数进行处理,而视图函数在经过一系列处理后必须要有返回信息给浏览器。如果我们要返回html标签、css等数据给浏览器进行渲染,我们可以在视图函数中这么做 def current_datetime(request): now
阅读全文
摘要:视图函数必须要返回一个HttpResponse对象 JsonResponse对象 向前端返回Json格式的字符串 from django.http import JsonResponseimport json def xxx(request): user_dict = {'username':'你好
阅读全文
摘要:路由的作用 路由即请求地址与视图函数的映射关系,如果把网站比喻为一本书,那路由就好比是这本书的目录,在Django中路由默认配置在urls.py中,如下图: 简单的路由配置 #urls.py urlpatterns = [ url(r'^admin/', admin.site.urls), #首页匹
阅读全文
摘要:Django 表关系的创建 我们知道,表关系分为一对多,多对多,一对一我们以一个图书管理系统为背景,设计了下述四张表,让我们来找一找它们之间的关系 Book与Publish表 找关系:一对多 左表(Book)< >右表(Publish) # 步骤一: #分析1、先站在左表的角度 左表的多条记录代表多
阅读全文
摘要:1、字符编码 python2默认ascii编码 python3默认utf-8编码 2、除法运算 python2 整数相除的结果是一个整数,把小数部分完全忽略掉,浮点数除法会保留小数点的部分得到一个浮点数的结果。 在python3中 对于整数之间的相除,结果也会是浮点数 Python 2.x: >>>
阅读全文
摘要:form表单 form表单默认是以get请求提交数据的 http://127.0.0.1:8000/login/?username=admin&password=123 action参数 1.不写 默认朝当前地址提交数据 2.全路径 3.后缀(/index) 提交post请求的时候 需要先去配置文件
阅读全文
摘要:web框架本质 我们可以这样理解:所有的Web应用本质上就是一个socket服务端,而用户的浏览器就是一个socket客户端。 这样我们就可以自己实现Web框架了。 import socket server = socket.socket() server.bind(('127.0.0.1',808
阅读全文
摘要:Bootstrap官网:https://v3.bootcss.com/css/ 使用前端框架bootstrap 统一都必须先下载或者先引用 bootstrap框架动态效果是基于jQuery的 也就意味着你在使用 bootstrap的时候要提前先导入jquery( ) 布局容器 栅格系统 用row来划
阅读全文
摘要:jQuery介绍 1. jQuery内封装了原生的js代码,是一个轻量级的、兼容多浏览器的JavaScript库。 2. jQuery使用户能够更方便地处理HTML Document、Events、实现动画效果、方便地进行Ajax交互,能够极大地简化JavaScript编程。它的宗旨就是:“Writ
阅读全文
摘要:BOM:浏览器对象模型,可以使JS有能力操作浏览器 DOM:文档对象模型,可以访问HTML文档内的所有元素 Window对象 所有浏览器都支持 window 对象。它表示浏览器窗口 一些常用的Window方法: window.innerHeight 浏览器窗口的内部高度 window.innerWi
阅读全文
摘要:JavaScript 又称 ECMAScript 是一门动态类型、面向对象的脚本语言。 脚本简单地说就是一条条的文字命令,这些文字命令是可以看到的(如可以用记事本打开查看、编辑),脚本程序在执行时,是由系统的一个解释器,将其一条条的翻译成机器可识别的指令,并按程序顺序执行。因为脚本在执行时多了一道翻
阅读全文
摘要:"一、css语法结构" "二、css选择器" "三、css属性相关" css介绍: css又称层叠样式表,用来调节标签的样式,css应该是一个独立的文件 css注释 : 一、css语法结构 css样式由两个组成部分:选择器和声明。声明又包括属性和属性值。每个声明之后用分号结束。 css的三种引入方式
阅读全文
摘要:一 引入: web服务的本质: 浏览器窗口输入一个网址敲回车发生了哪些事? 1.朝着指定的服务端发送请求 2.服务端接收相应的请求 3.服务端返回相应的响应 4.浏览器接收响应 按照特定的规则渲染页面展示给用户看 二 HTTP协议 超文本传输协议 规定了浏览器与服务端之间数据传输的格式 四大特性:
阅读全文
摘要:```sql# pip3 install DBUtilsfrom DBUtils.PooledDB import PooledDBimport pymysql'''数据库连接池'''POOL = PooledDB( creator=pymysql, # 使用链接数据库的模块 maxconnections=6, # 连接池允许的最大连接数,0和None表示不限制连接数 minc...
阅读全文
摘要:cookies :存放在浏览器(客户端)的用户信息 - 优点: 可以将数据存在客户端一方: - 缺点: 不安全,可以存放多份,导致服务端占用空间过大 session :存放在服务端的用户信息 - 优点:数据安全 - 缺点:session值不是唯一的, 在用户登录成功后,服务端生成一个随机字符串(se
阅读全文
摘要:```python'''ORM 对象关系映射 --->映射到数据表的一条条记录类名 ---> 表名对象 ---> 一条记录对象.属性 ---> 字段'''from day38.mysql_control import MySQL# 1.创建字段的类型 对应数据表中一个个字段的创建规范class Field: #父类 def __init__(self,name,column_type,p...
阅读全文
摘要:一、前言 1.1 什么是数据库(DataBase,简称DB) 数据库即存放数据的仓库,只不过这个仓库是在计算机存储设备上,而且数据是按一定的格式存放的。数据库是长期存放在计算机内、有组织、可共享的数据集合 将所有数据存放到一个第三方的公共位置(数据库),同一个软件凡是需要操作数据的,就必须去这个共享
阅读全文
摘要:数据库设计三大范式 数据库设计的三大范式 为了建立冗余较小、结构合理的数据库,设计数据库时必须遵循一定的规则。在关系型数据库中这种规则就叫做范式。 范式就是符合某一种设计要求的总结,要想设计一个结构合理的关系型数据库,必须满足一定的范式。 在实际开发中最常见的设计范式有三个: 1、第一范式(确保每列
阅读全文
摘要:索引与慢查询优化 索引就类似于书的目录,可以加快数据查询速度 索引虽然能够加速查询 但是也不是越多越好 索引在MySQL中也叫做“键”,是存储引擎用于快速找到记录的一种数据结构。 primary key unique key index key 上面三种key前两种除了有加速查询的效果之外还有额外的
阅读全文
摘要:"一、视图" "二、触发器" "三、事务" "四、存储过程" "五、函数" "六、流程控制" 一、视图 视图 是通过SQL语句查询得到一张虚拟的表,然后保存下来供下次直接使用,节省拼接表的时间消耗。视图就是这张虚拟表。 创建视图语句 注意:1.创建的视图只有表结构文件,数据还是来源于原来的表 2.视
阅读全文
摘要:什么是pymysql模块 PyMySQL 是在 Python3.x 版本中用于连接 MySQL 服务器的一个库,Python2中则使用mysqldb。 使用pymysql模块 下载第三方模块: pip3 install pymysql SQL的注入问题 sql注入问题:利用特殊符号和注释语法 巧妙地
阅读全文
摘要:基本查询语句及语法: select distinct from where group by having limit 一、单表查询 前期表与数据准备 : 1、语法书写顺序与执行顺序 2、where约束条件 3、group by 分组 比如: 一张员工表中有性别字段,可以根据性别分组,一组是男性,一
阅读全文
摘要:一、前言 研究表与表之间的关系前,先要知道将所有数据存放在一张表中的弊端: 1.结构不清晰 不致命 2.浪费空间 不致命 3.可扩展性极差 不可忽视的弊端 就i好比将所有的代码存放在一个文件中,强耦合到了一起,而我们需要做的就是 解耦合 拆分表 拆分表解决以上问题. 需要给两张表之间,建立一种强有力
阅读全文
摘要:"一、数值类型" "二、日期类型" "三、枚举与集合" "四、约束条件" "五、设置严格模式" 一、数值类型 1.1 整型 应用场景: id号、年龄... tinyint: 有符号:默认范围 128, 127 无符号:默认范围 0,255 int: 有符号:默认范围( 2147483648, 214
阅读全文
摘要:库的操作 类似于文件夹 表的操作 类似于文件 记录 的操作 类似于文件中的一行行数据 了解:修改表的操作 注意: mysql 关键字不区分大小写 语法: 1. 修改表名 alter table 表名 rename 新表名; 2. 增加字段 alter table 表名 add 字段名 数据类型 [完
阅读全文
摘要:" 一、必备的理论基础" " 二、操作系统发展史" " 三、进程理论" " 四、线程理论" " 五、协程" 一、必备的理论基础 操作系统理论: 操作系统是一个协调\管理\控制计算机硬件资源与应用软件资源的控制程序 操作系统的两大功能: 1. 将复杂的硬件操作封装成简单的接口给应用程序或者用户去使用
阅读全文
摘要:一、什么是异常处理 异常 是错误发生的信号,一旦程序出错就会产生一个异常, 如果该异常没有被应用程序处理,那么该异常就会抛出来,程序的执行也随之终止。 异常包含三个部分: 1. traceback异常的追踪信息 2. 异常的类型 3. 异常的信息 错误分为两大类: 1.语法上的错误:在程序运行前就应
阅读全文
摘要:"一、什么是元类" "二、如何使用元类" "(一)不依赖class关键字创建一个自定义类" "(二)自定义元类控制类的产生" "(三)自定义元类控制类的调用" 一、什么是元类 在python中,一切皆对象,而对象都是由类实例化得到的。所以类也是对象,而类的类就是元类,其实 type 就是元类。 二、
阅读全文
摘要:一、粘包问题 问题1 : 无法确认对方发送过来数据的大小。 问题2 : 在发送数据间隔短并且数据量小的情况下,会将所有数据一次性发送。 二、粘包问题的解决方案: 粘包问题的解决方案: 确认对方数据的大小。 这里需要用 struct模块 struct是什么? 是一个python内置的模块,它可以将固定
阅读全文
摘要:一、什么是socket? socket是一个模块, 又称套接字,用来封装 互联网协议(应用层以下的层)。 二、为什么要有socket? socket可以实现互联网协议 应用层以下的层 的工作,提高开发效率。 三、怎么使用socket? import socket 写socket套接字: Client
阅读全文
摘要:一、软件开发架构 1. C/S架构 Client :客户端(24小时不间断提供服务) Server :服务端(客户需要服务时,就去访问服务端) ps:服务端需要遵循的原则: 1. 服务端与客户端都需要有唯一的地址,但是服务端的地址必须固定/绑定 2. 对外一直提供服务,稳定运行 3. 服务端应该支持
阅读全文
摘要:闭包函数 闭:指的是定义在函数内部的函数 比如手机是闭包函数(内层函数),被手机包装盒 (外层函数) 包裹起来, 手机可以使用包装盒中的东西,内层函数可以引用外层函数的名字。 闭包函数 :定义在函数内部的函数,并且该函数包含对外部函数作用域中名字的引用,该函数就称为闭包函数。 注意:该函数的作用域在
阅读全文
摘要:单例模式: 指的是在确定 "类中的属性与方法" 不变时,需要反复调用该类,产生不同的对象,会产生不同的内存地址,造成资源的浪费。 单例模式:多次实例化的结果指向同一个内存地址 无论产生多个对象,都会指向 单个 实例。 单例的优点:节省内存空间。 以上三个对象的内存地址都不一样。由此造成了内存资源的浪
阅读全文
摘要:类的内置方法(魔法方法): 凡是在类内部定义,以__开头__结尾的方法,都是类的内置方法,类的内置方法,会在满足某种条件下自动触发。 1.1__new__ 1.2__getattr__ 1.3__getattribute__ 1.5__str__ 引子:想一想下列情况为什么不一样? 以上所知,所以p
阅读全文
摘要:一、 isinstance(obj,cls)和issubclass(sub,super) isinstance与issubclass是python的内置模块: isinstance: 判断一个对象是否是另一个类的实例。 如果是: True 如果不是: False issubclass: 判断一个类是
阅读全文
摘要:一:绑定方法 绑定给谁,谁来调用就自动将它本身当作第一个参数自动传入。 类的绑定方法: 是用classmethod装饰器装饰的方法。 -由类来调用,会将类当做第一个参数传入。 classmethod: 是一个装饰器,给在类内部定义方法中装饰,将类内部的方法变为 “类的绑定方法”。 对象的绑定方法:
阅读全文
摘要:一、多态 1.1 什么是多态 多态也称“多态性”,指的是同一种类型的事物,不同的形态。 在python中的多态指的是让多种类若具备类似的数据属性与方法属性,都统一好命名规范,这样可以提高开发者的代码统一性,使得调用者更方便去理解。 1.2 多态的目的: 为了在不知道对象具体类型的情况下,统一对象调用
阅读全文
摘要:一、组合 组合指的是一个对象中,包含另一个或多个对象,组合可以减少代码冗余,提高程序的可扩展性 如何使用组合? class People: def __init__(self,name,age,sex): self.name = name self.age = age self.sex = sex
阅读全文
摘要:一、继承 1、什么是继承 继承是一种新建类的方式,新建的类称之为子类或派生类,继承的父亲称之为基类或超类。 在Python中,一个子类可以继承多个父类。 在其它语言中,一个子类只能继承一个父类。 2、继承的作用 减少代码的冗余 3、 如何实现继承 1. 先确认谁是子类,谁是父类。 2. 在定义类子类
阅读全文
摘要:一、什么是面向对象编程 核心是“对象”二字,对象指的是“特征与技能”的结合体。 基于该编程思想编写程序,就好比在创造世界,一种 “上帝式” 的思维方式。 优点:可扩展性强 缺点:编程的复杂度远高于面向过程 应用场景:需求经常变化的软件,一般需求的变化都集中在用户层,互联网应用,企业内部软件,游戏等都
阅读全文
摘要:一、time 时间模块 在python的三种时间表现形式: 1.时间戳: 给电脑看的。 - 自格林威治时间 1970-01-01 00:00:00 到当前时间,按秒计算,计算到当前时间总共用了多少秒。 2.格式化时间(Format String): 给人看的 - 返回的是时间的字符串 2015-12
阅读全文
摘要:先问问大家,什么是拷贝? 拷贝就是创建一个具有相同类型,相同值但不同id的新对象. 深浅copy其实就是完全复制一份,和部分复制一份的意思。 1、 赋值运算 对于赋值运算来说,l1与l2指向的是同一个内存地址,所以他们是完全一样的。 在举个例子,比如张三李四合租在一起,那么对于客厅来说,他们是公用的
阅读全文
摘要:软件开发目录规范: 注意: 每一次写项目时,都要新建一个文件夹与项目工程,必须让项目文件夹作为项目根目录。
阅读全文
摘要:包 一、什么是包? 包是一个内部带有__init__.py的文件夹,包也可以被导入,并且可以一并导入包下的所有模块。 二、为什么要使用包? 包的本质就是一个文件夹,那么文件夹唯一的功能就是将文件组织起来。 随着功能越写越多,我们无法将所有功能都放到一个文件中,于是我们使用模块去组织功能,而随着模块越
阅读全文
摘要:函数递归指的是重复 “直接调用或间接调用” 函数本身,这是一种函数嵌套调用的表现形式。 直接调用: 指的是在函数内置,直接调用函数本身。 间接调用: 两个函数之间相互调用间接造成递归。
阅读全文
摘要:一、匿名函数 没有名字的函数 二、内置函数 内置函数:python内部提供的自带的内置方法 如:range,print,len,max,min,sorted,map,filter max:求最大值 max(可迭代对象) sorted: 默认升序(从小到大) reverse:反转 reverse默认是
阅读全文
摘要:面向过程编程: 核心 是'过程'二字,过程 指的是一种解决问题的步骤,即先干什么再敢什么 基于该编程思想编写程序,就好比在设计一条工厂流水线,一种机械式的思维方式 优点 :将复杂的问题流程化,进而简单化 缺点 :若修改当前程序设计的某一部分,会导致其他部分同时需要修改 牵一发而动全身,可扩展性差 三
阅读全文
摘要:一、装饰器 闭包函数 装饰器简介 装饰器模板 装饰器的语法糖 二、迭代器 三、生成器 #一、装饰器 ##闭包函数 闭:指的是定义在函数内部的函数 比如手机是闭包函数(内层函数),被手机包装盒 (外层函数) 包裹起来, 手机可以使用包装盒中的东西,内层函数可以引用外层函数的名字。 闭包函数:定义在函数
阅读全文
摘要:一、函数对象 函数的名字就是函数对象,它在python中是第一类对象,函数名指向的是函数的内存地址。 1.1 函数对象的作用: 1、函数名可以被引用 2、函数名可以当作参数传入 3、可以当函数的返回值 4、函数名可以作为容器类型的元素 1.2 函数对象的应用: 可以优雅地取代if分支 二、函数嵌套
阅读全文
摘要:一、 形参与实参 形参 :即在定义函数时,括号内声明的参数。形参本质就是一个变量名,用来接收外部传来的值。 实参 :即在调用函数时,括号内传入的值,值可以是常量、变量、表达式或三者的组合。 注意:在调用函数时,实参值(变量的值)会赋值给形参(变量名),两者的绑定关系只在函数调用时才会生效,在调用函数
阅读全文
摘要:一、函数的基本使用 1、什么是函数 定义:函数是一系列功能的结合体,是一种可以重复使用的工具。 2、为什么要用函数 1、防止代码冗余 2、防止组织结构不清晰,代码可读性差 3、便于代码的管理和维护 3、怎么用函数 1、定义函数>>> 创造工具 2、调用函数>>> 使用工具 强调:函数的使用必须经过先
阅读全文
摘要:1、文件操作的流程: 1.1 文件的定义: 文件就是操作系统提供给应用程序来操作硬盘的接口,用户或应用程序对文件的操作,就是向操作系统发起调用,然后由操作系统完成对硬盘的具体操作。 1.2 操作文件的基本流程: 2、相对路径和绝对路径: 相对路径 :a.txt必须与当前py文件在同一级目录(一般使用
阅读全文
摘要:字符编码 1 什么是字符编码? 人类在与计算机交互时,用的都是人类能读懂的字符,如中文字符、英文字符、日文字符等毫无疑问,由人类的字符到计算机中的数字,必须经历一个过程,如下 翻译的过程必须参照一个特定的标准,该标准称之为字符编码表,该表上存放的就是字符与数字一一对应的关系。 字符编码中的编码指的是
阅读全文
摘要:一、流程控制之判断 if:主要用于判断事物的对错,真假,是否可行 二、流程控制之循环 while循环: Python中的计数方法: 几乎所有的程序语言都选择从0开始计数,因此,除非需求的特殊要求,否则循环的计数都从0开始 for循环: for:给我们提供了一种不依赖于索引的取值方式 注意:break
阅读全文
摘要:一、运行python程序的两种方式: 方式一:交互式模式 方式二:脚本文件 交互式模式下可以即时得到代码执行结果,调试程序十分方便。 若想将代码永久保存下来,则必须将代码写入文件中。 若将代码写入文件中,偶尔需要打开交互式模式调试某段代码、验证结果。 二、变量 1、什么是变量 变:变化 量:指的是事
阅读全文
摘要:计算机基础 1、编程语言:人与计算机沟通、交流的介质 2、编程:程序员用计算机可以理解的表达方式,把自己的思维逻辑写下来,编程的结果就是一堆文件 学习编程的目的就是为了让计算机按照人的思维逻辑自发地去工作从而把人力解放出来 3、计算机系统: (1)硬件:计算机的实体:主机,硬盘等 (2)软件:由具有
阅读全文