12 2019 档案

摘要:Django中的中间件是一个轻量级、底层的插件系统,可以介入Django的请求和响应处理过程,修改Django的输入或输出。中间件的设计为开发者提供了一种无侵入式的开发方式,增强了Django框架的健壮性。我们可以使用中间件,在Django处理视图的不同阶段对输入或输出进行干预。 中间件的原理其实就 阅读全文
posted @ 2019-12-28 21:58 老王同鞋 阅读(517) 评论(2) 推荐(1)
摘要:所谓类视图就是用类定义的视图,其主要支持客户端在用不同的请求方式发起的HTTP请求。 首先,我们需要明确一下类视图的好处: 1.代码可读向高; 2.相对于视图函数具有更高的代码复用性; 3.便于维护。 类视图的定义格式如下: # 1. 导入视图模块from django.views.generic 阅读全文
posted @ 2019-12-27 22:50 老王同鞋 阅读(421) 评论(0) 推荐(0)
摘要:Session介绍: 在计算机中,尤其是在网络应用中,称为“会话控制”。Session 对象存储特定用户会话所需的属性及配置信息。这样,当用户在应用程序的 Web 页之间跳转时,存储在 Session 对象中的变量将不会丢失,而是在整个用户会话中一直存在下去。当用户请求来自应用程序的 Web 页时, 阅读全文
posted @ 2019-12-27 16:31 老王同鞋 阅读(397) 评论(0) 推荐(0)
摘要:Cookie最早是网景公司的前雇员Lou Montulli在1993年3月的发明。Cookie是由服务器端生成,发送给User-Agent(一般是浏览器),浏览器会将Cookie的key/value保存到某个目录下的文本文件内,下次请求同一网站时就发送该Cookie给服务器(前提是浏览器设置为启用c 阅读全文
posted @ 2019-12-27 16:15 老王同鞋 阅读(217) 评论(0) 推荐(0)
摘要:在Django框架中,我们可以通过视图函数返回响应对象来给客户端返回指定的数据。 接下来我将给大家简述一下如何利用响应对象给客户端返回指定数据。 1. 自定义响应对象 第一种方式: from django.http import HttpResponse, JsonResponse# 自定义响应对象 阅读全文
posted @ 2019-12-26 10:53 老王同鞋 阅读(934) 评论(0) 推荐(0)
摘要:在Django框架中,我们可以获取到很多的数据;接下来我就为大家介绍一下如何获取客户端发送的数据。 1. 根据正则表达式匹配url中的数据 在子路由中根据正则表达式匹配到url中的数据,并传递给视图函数 通过位置参数,给视图函数进行传参 url(r'^index/([a-zA-Z]+)/(\d+)' 阅读全文
posted @ 2019-12-26 10:10 老王同鞋 阅读(622) 评论(0) 推荐(0)
摘要:上一篇文章讲述了Django框架的基本执行流程,这篇文章我将为大家简单描述一下Django框架的基本开发流程。 本文章中基于ubuntu16.0.4系统中进行调试。 这里提一下,Django框架中setting.py文件为总配置文件,大家没事别轻易修改哦。 1. 创建虚拟环境,此步骤需要联网 mkv 阅读全文
posted @ 2019-12-25 15:21 老王同鞋 阅读(321) 评论(0) 推荐(0)
摘要:我为大家简单阐述一下Django框架执行的大概流程。 Django框架的执行流程 1.浏览器发送请求 2.服务器接收请求并将请求转发给Django框架 3.框架处理请求,如果是请求数据就去找model,如果请求时模版就去找template,然后将模板或数据读取并返回给服务器一个响应。 4.服务器再将 阅读全文
posted @ 2019-12-24 22:21 老王同鞋 阅读(1182) 评论(0) 推荐(0)
摘要:第一天笔记:链接 第二天笔记:链接 第三天笔记:链接 阅读全文
posted @ 2019-12-24 22:14 老王同鞋 阅读(139) 评论(0) 推荐(0)
摘要:思维导图 阅读全文
posted @ 2019-12-23 23:03 老王同鞋 阅读(177) 评论(0) 推荐(0)
摘要:本次学习MiniWeb框架的目的并不是能够完成框架的编写,而是需要学习框架编写中的思想,主要是理解路由表的定义和自动维护、视图函数的作用、前后端分离的开发思想,以及WSGI协议中的application函数的实现与调用的思想。 以往,我们多完成的是静态web服务器,主要处理的都是一些已经‘写死’的数 阅读全文
posted @ 2019-12-19 18:16 老王同鞋 阅读(2507) 评论(0) 推荐(3)
摘要:在程序中我们可以使用正则表达式匹配出符合规则的字符串数据。 正则表达式的元字符: 1.匹配单个字符的元字符: 元字符 功能 . 匹配一个除\n外的任意字符 [] 匹配[]中列举出来的字符,只要在[]中存在则匹配成功 \d 匹配数字,即0-9 \D 匹配非数字,即除0-9之外的所有字符 \s 匹配空白 阅读全文
posted @ 2019-12-18 20:01 老王同鞋 阅读(210) 评论(2) 推荐(0)
摘要:所谓上下文管理器即在一个类中重写了__enter__方法和__exit__方法的类就可以成为上下文管理器类。 我们可以通过with语句结合上下文管理器简化一些操作。 使用with语句结合自定义上下文管理器完成数据库相应的操作,代码实现如下: # 1. 导入模块 import pymysql # 创建 阅读全文
posted @ 2019-12-18 15:09 老王同鞋 阅读(759) 评论(0) 推荐(5)
摘要:闭包和装饰器是Python中非常重要的一种语法格式,在日常工作中应用非常广泛。 首先,我先为大家简单的介绍一下闭包的概念。 闭包:闭包是在函数嵌套的基础上,内层函数使用到外层函数的变量,且外层函数返回内层函数的引用的一种语法格式。 闭包的基本格式,代码实现: def outer(): num = 0 阅读全文
posted @ 2019-12-17 12:28 老王同鞋 阅读(238) 评论(0) 推荐(0)
摘要:Ajax的作用,主要是实现局部刷新。 通过老大哥告知,Ajax接口可以使用一言网站的,所以自己就练了一下子。 本文所有用到的接口都来自一言网站:https://hitokoto.cn/api 通过网站公告可知,一言网站的JSON数据格式如下: id 本条一言的id。可以链接到https://hito 阅读全文
posted @ 2019-12-15 23:04 老王同鞋 阅读(2298) 评论(0) 推荐(0)
摘要:众所周知,想要在python程序中执行SQL语句需要使用第三方模块:pymysql。 下面,我将为大家简述一下pymysql第三方库的安装到使用的大体流程。 pymysql的安装 1.windows系统通过pip安装pymysql: pip3 install pymysql 2.Liunx系统中,可 阅读全文
posted @ 2019-12-15 21:29 老王同鞋 阅读(481) 评论(0) 推荐(0)
摘要:MySql数据库中的子查询: 子查询:在一条select查询语句中嵌套另一条select语句,其主要作用是充当查询条件或确定数据源。 代码案例如下: 例1. 查询大于平均年龄的学生: select * from students where age > (select avg(age) from s 阅读全文
posted @ 2019-12-15 20:54 老王同鞋 阅读(528) 评论(0) 推荐(1)
摘要:在MySql数据库中连接查询分为以下几种方式: 1.内连接查询 内连接查询通过关键字 inner join 关键字来实现,通过代码实现: select * from 表1 inner join 表2 on 表1.字段 = 表2.字段 其原理是,将两个表中的数据通过指定的字段进行链接,然后将链接后的数 阅读全文
posted @ 2019-12-15 20:16 老王同鞋 阅读(1175) 评论(0) 推荐(1)
摘要:查询数据 1.查询所有数据: select * from 表名; 2.根据指定条件查询数据: select * from 表名 where 查询条件 3.根据where条件查询: 3.1 根据指定条件查询指定字段的数据 select 字段1,... from 表名 where 查询条件 这里为大家简 阅读全文
posted @ 2019-12-13 10:46 老王同鞋 阅读(663) 评论(0) 推荐(0)
摘要:本文呢,主要给大家简述一下数据库中常用的几种数据类型以及约束。 1.数据类型 数据类型,是指数据表中可以存储的数据的种类。 数据库中常用的数据类型有: 1.整型:int、bit 2.小数:decimal、float 3.字符串:char、varchar 3.1:char类型存储的数据都是指定长度的数 阅读全文
posted @ 2019-12-13 10:42 老王同鞋 阅读(596) 评论(0) 推荐(0)
摘要:MySql数据库中主要利用多个数据表进行数据的存储,我们可以将数据表理解成一个Excel表格,Excel表格的第一列可以将它看为id列,主要任务是数据表中数据的唯一标识,不能重复、不能为空。如果将数据表比喻一个Excel表格,那么表格中的每一列就对应了数据表中的每一个字段,每一行数据由多个列组成,那 阅读全文
posted @ 2019-12-13 10:21 老王同鞋 阅读(386) 评论(0) 推荐(0)
摘要:继续上篇博客所说到的,使用命令玩转MySql数据库。 在连接数据库时,我们需要确定数据库所在的服务器IP,用户名以及密码。当然,我们一般练习都会使用本地数据库,那么本地数据库的连接命令如下: mysql -uroot -p 当我们成功连接数据库后,先查看一下当前都有什么数据库: show datab 阅读全文
posted @ 2019-12-13 00:21 老王同鞋 阅读(190) 评论(0) 推荐(0)
摘要:MySql数据库简介: 众所周知,MySql数据库是一款开源的关系型数据库,在Web应用方面,MySql是最好的、最流行的RDBMS(Relational Database Management System,关系型数据库管理系统)应用软件。 MySql的4大特点: 1.MySql是开源的,免费的。 阅读全文
posted @ 2019-12-13 00:05 老王同鞋 阅读(210) 评论(0) 推荐(0)
摘要:众所周知JQuery中的Ajax主要用于数据传输,其数据传输格式为JSON格式数据,比XML格式数据传输更快。 ajax 是 Asynchronous JavaScript and XML的简写,ajax一个前后台配合的技术,它可以让 javascript 发送异步的 http 请求,与后台通信进行 阅读全文
posted @ 2019-12-11 23:20 老王同鞋 阅读(1328) 评论(0) 推荐(0)
摘要:1.搭建HTTP静态Web服务器。 代码实现: 1 # 1.导入socket模块 2 import socket 3 import threading 4 5 6 # 创建服务器类 7 class HttpServerSocket(object): 8 # 给服务器类的对象设置属性 9 def __ 阅读全文
posted @ 2019-12-11 23:10 老王同鞋 阅读(386) 评论(0) 推荐(0)
摘要:JSON是一种网络中的数据格式,主要用于网络间的数据传输,它比XML格式的数据传输速度快,使用更广。 1.Ajax处理对象格式的JSON数据: 1 <script src="../JS/jquery-1.12.4.min.js"></script> 2 <script> 3 function sho 阅读全文
posted @ 2019-12-11 23:02 老王同鞋 阅读(248) 评论(0) 推荐(0)
摘要:jQuery基础之事件处理方法,如下图: 代码实现: 1 <script src="JS/jquery-1.12.4.min.js"></script> 2 <script> 3 // 事件代理的第一种方式 4 // 事件冒泡,子标签的事件会传递给父标签 5 // 当点击子标签时会将单击事件传递给父 阅读全文
posted @ 2019-12-10 18:38 老王同鞋 阅读(153) 评论(0) 推荐(0)
摘要:jQuery基础之事件方法,如下图: 代码实现: 1 <script src="JS/jquery-1.12.4.min.js"></script> 2 <script> 3 $(function(){ 4 var $btn = $('#btn1'); 5 // 鼠标点击事件 6 $btn.clic 阅读全文
posted @ 2019-12-10 18:36 老王同鞋 阅读(183) 评论(0) 推荐(0)
摘要:jQuery基础之获取和设置标签元素属性方法,如下图: 代码实现: 1 <script src="JS/jquery-1.12.4.min.js"></script> 2 <script> 3 // 获取元素属性函数 4 $(function(){ 5 // 通过prop(属性名)方法,获取标签元素 阅读全文
posted @ 2019-12-10 18:34 老王同鞋 阅读(807) 评论(0) 推荐(0)
摘要:JQuery基础之获取和设置标签内容方法,如下图: 代码实现: 1 <script src="JS/jquery-1.12.4.min.js"></script> 2 <script> 3 $(function(){ 4 $div = $('#div1'); 5 // 获取当前标签元素内包裹的内容 阅读全文
posted @ 2019-12-10 18:29 老王同鞋 阅读(469) 评论(0) 推荐(0)
摘要:JQuery之选择集转移方法如下图: 所谓选择集,就是通过$()方法获取到的所有标签的集合。 代码实现: 1 <script src="JS/jquery-1.12.4.min.js"></script> 2 <script> 3 $(function(){ 4 var $div1 = $('#di 阅读全文
posted @ 2019-12-10 18:27 老王同鞋 阅读(318) 评论(0) 推荐(0)
摘要:JQuery选择集过滤应用如下: 所谓选择集,就是通过$()方法获取到的所有标签的集合。 代码实现: 1 <script src="JS/jquery-3.4.1.js"></script> 2 <script> 3 // JQuery中的选择集过滤 4 // has()方法:选择出指定的选择所指的 阅读全文
posted @ 2019-12-10 18:26 老王同鞋 阅读(312) 评论(0) 推荐(0)
摘要:JQuery中的选择器数量和JavaScript中的选择器数量相差无几,JQuery中的选择器类型如下图: 代码实现: <script src="JS/jquery-3.4.1.js"></script> <script> // 利用JQuery创建程序入口1 $(document).ready(f 阅读全文
posted @ 2019-12-10 18:17 老王同鞋 阅读(449) 评论(0) 推荐(0)
摘要:使用python -m pip install --upgrade pip命令即可。 查看是否更新成功: 使用pip3 list命令即可。 阅读全文
posted @ 2019-12-10 13:15 老王同鞋 阅读(550) 评论(0) 推荐(0)
摘要:安装gevent库: 想要安装gevent库,我们需要确定pip版本: 使用 pip3 list: 我们可以发现pip版本为19.3.1,如果你们的pip版本不是最新版可以使用命令python -m pip install --upgrade pip进行更新, 如果不更新pip版本无法安装geven 阅读全文
posted @ 2019-12-10 13:12 老王同鞋 阅读(15211) 评论(0) 推荐(2)
摘要:利用面向对象的思想完成HTTP静态Web服务器的开发。 主要思路如下: 1.抽象出一个服务器类 1.1 编写类的对象属性 1.2 编写类的方法 注意: 在进行请求资源路径判断时,需要确认请求路径中是否包含参数,如果包含参数,需要通过split方法对请求的资源路径进行分割,并取出分割后的数据。 1 # 阅读全文
posted @ 2019-12-08 22:23 老王同鞋 阅读(315) 评论(0) 推荐(0)
摘要:众所周知,Http协议是基于Tcp协议的基础上产生的浏览器到服务器的通信协议 ,其根本原理也是通过socket进行通信。 使用HTTP协议通信,需要注意其返回的响应报文格式不能有任何问题。 响应报文,一共包括4个部分,分别是响应行,响应头,空行,响应体,并且每项数据之间必须使用/r/n隔开。 空行是 阅读全文
posted @ 2019-12-08 22:22 老王同鞋 阅读(1171) 评论(0) 推荐(0)
摘要:HTTP协议,又称超文本传输协议,主要用于浏览器与服务器之间的通信。 HTTP 协议的制作者是蒂姆·伯纳斯-李,1991年设计出来的,HTTP 协议设计之前目的是传输网页数据的,现在允许传输任意类型的数据。 HTTP协议是基于TCP协议的通信协议,传输数据之前需要先建立连接。 HTPP协议通信效果图 阅读全文
posted @ 2019-12-08 22:21 老王同鞋 阅读(655) 评论(0) 推荐(0)
摘要:UDP协议是无连接的、不稳定的网络通信协议。 通过使用飞秋端口(2425),以及模拟飞秋消息格式实现使用UDP协议对飞秋进行通信。 飞秋通信格式: '1:1000:66:%s:32:%s' 以冒号分割,可以分割成6个小段每个小段的含义如下: 1.版本号 2.消息编号 3.发送人姓名 4.发送人机器名 阅读全文
posted @ 2019-12-07 16:28 老王同鞋 阅读(899) 评论(0) 推荐(0)
摘要:利用线程实现,一个服务端同时服务多个客户端的需求。 TCP服务端-线程版代码实现: 1 import socket 2 import threading 3 4 5 def handle_client_socket(new_socket, ip_port): 6 print("建立连接成功:", i 阅读全文
posted @ 2019-12-07 16:19 老王同鞋 阅读(364) 评论(0) 推荐(0)
摘要:利用gevent第三方库,实现协程。 通过协程实现一个服务端服务多个客户端需求。 使用协程的好处是协程比线程更加节省内存资源。 gevent安装命令: pip3 install gevent 注意:在安装gevent库之前,需要更新pip版本,只需要在终端窗口执行以下命令即可: python -m 阅读全文
posted @ 2019-12-07 16:18 老王同鞋 阅读(569) 评论(0) 推荐(0)
摘要:TCP客户端,需要与服务端建立连接,连接建立成功后才可以进行数据的传输。 1 # 1.导入模块 2 import socket 3 4 if __name__ == '__main__': 5 # 2.创建套接字对象 6 tcp_client_socket = socket.socket(socke 阅读全文
posted @ 2019-12-07 16:13 老王同鞋 阅读(740) 评论(0) 推荐(0)
摘要:TCP通信协议是面向连接的可靠的网络通信协议。 网络间想要进行数据传输必须要用到socket,socket翻译过来叫做套接字,其主要作用是不同设备或同一台设备之间的进程通信工具。 Python中的Tcp协议应用如下: 我们都知道Tcp是面相连接通信协议,所以Tcp服务端需要结合网络调试助手进行接受及 阅读全文
posted @ 2019-12-07 16:09 老王同鞋 阅读(493) 评论(0) 推荐(1)
摘要:Python高级学习笔记,此笔记中包含Linux操作系统、Html+CSS+JS、网络协议等。 所有思维导图为本人亲手所画,请勿用于商用。 大哥们,求点赞哦。 第一天笔记:链接 第二天笔记:链接 第三天笔记:链接 第四天笔记:链接 第五天笔记:链接 第六天笔记:链接 第七天笔记:链接 第八天笔记:链 阅读全文
posted @ 2019-12-02 22:15 老王同鞋 阅读(282) 评论(0) 推荐(0)