摘要:
一 什么是中间件 中间件顾名思义,是 介于request与response处理之间的一道处理过程 ,相对比较轻量级,并且在全局上改变django的输入与输出。因为改变的是全局,所以需要谨慎实用,用不好会影响到性能 Django中间件的定义: 二 中间件有什么用 如果你想修改请求,例如被传送到view 阅读全文
摘要:
1 会话跟踪技术 什么是会话跟踪 我们需要先了解一下什么是会话!可以把会话理解为客户端与服务器之间的一次会晤,在一次会晤中可能会包含多次请求和响应。例如你给10086打个电话,你就是客户端,而10086服务人员就是服务器了。从双方接通电话那一刻起,会话就开始了,到某一方挂断电话表示会话结束。在通话过 阅读全文
摘要:
1 校验字段功能 针对一个实例:注册用户讲解。 模型:models.py 模版文件 视图函数: 2 渲染标签功能 渲染方式1 渲染方式2 渲染方式3 3 渲染错误信息功能 视图 模板 4 组件的参数配置 5 局部钩子 6 全局钩子 阅读全文
摘要:
1 Django的分页器(paginator)简介 在页面显示分页数据,需要用到Django分页器组件 from django.core.paginator import Paginator 2 应用View层 3 模版层 index.html 4 扩展 阅读全文
摘要:
一 什么是Ajax AJAX(Asynchronous Javascript And XML)翻译成中文就是“异步Javascript和XML”。即使用Javascript语言与服务器进行异步交互,传输的数据为XML(当然,传输的数据不只是XML,现在更多使用json数据)。 同步交互:客户端发出一 阅读全文
摘要:
一 QuerySet对象 1.1可切片 使用Python 的切片语法来限制 记录的数目 。它等同于SQL 的 和 子句。 不支持负的索引(例如 )。通常, 的切片返回一个新的 —— 它不会执行查询。 1.2可迭代 1.3惰性查询 是惰性执行的 —— 创建 不会带来任何数据库的访问。你可以将过滤器保持 阅读全文
摘要:
1 ORM字段 AutoField int自增列,必须填入参数 primary_key=True。当model中如果没有自增列,则自动会创建一个列名为id的列。 IntegerField 一个整数类型,范围在 2147483648 to 2147483647。 CharField 字符类型,必须提供 阅读全文
摘要:
一 创建模型 实例:我们来假定下面这些概念,字段和关系 作者模型:一个作者有姓名和年龄。 作者详细模型:把作者的详情放到详情表,包含生日,手机号,家庭住址等信息。作者详情模型和作者模型之间是一对一的关系(one to one) 出版商模型:出版商有名称,所在城市以及email。 书籍模型: 书籍有书 阅读全文
摘要:
一 ORM简介 查询数据层次图解:如果操作mysql,ORM是在pymysq之上又进行了一层封装 MVC或者MTV框架中包括一个重要的部分,就是ORM,它实现了数据模型与数据库的解耦,即数据模型的设计不需要依赖于特定的数据库,通过简单的配置就可以轻松更换数据库,这极大的减轻了开发人员的工作量,不需要 阅读全文
摘要:
一 模版简介 你可能已经注意到我们在例子视图中返回文本的方式有点特别。 也就是说,HTML被直接硬编码在 Python代码之中。 尽管这种技术便于解释视图是如何工作的,但直接将HTML硬编码到你的视图里却并不是一个好主意。 让我们来看一下为什么: 对页面设计进行的任何改变都必须对 Python 代码 阅读全文
摘要:
1 视图函数 一个视图函数,简称视图,是一个简单的Python 函数,它接受Web请求并且返回Web响应。响应可以是一张网页的HTML内容,一个重定向,一个404错误,一个XML文档,或者一张图片. . . 是任何东西都可以。无论视图本身包含什么逻辑,都要返回响应。代码写在哪里也无所谓,只要它在你的 阅读全文
摘要:
一 Django中路由的作用 URL配置(URLconf)就像Django 所支撑网站的目录。它的本质是 URL与要为该URL调用的视图函数之间的映射表 ;你就是以这种方式告诉Django,对于客户端发来的某个URL调用哪一段逻辑代码对应执行 典型的例子: 二 简单的路由配置 正则表达式:一个正则表 阅读全文
摘要:
一 MVC与MTV模型 1.1 MVC Web服务器开发领域里著名的MVC模式,所谓MVC就是把Web应用分为模型(M),控制器(C)和视图(V)三层,他们之间以一种插件式的、松耦合的方式连接在一起,模型负责业务对象与数据库的映射(ORM),视图负责与用户的交互(页面),控制器接受用户的输入调用模型 阅读全文
摘要:
一 web框架 Web框架(Web framework)是一种开发框架,用来支持动态网站、网络应用和网络服务的开发。这大多数的web框架提供了一套开发和部署网站的方式,也为web行为提供了一套通用的方法。web框架已经实现了很多功能,开发人员使用框架提供的方法并且完成自己的业务逻辑,就能快速开发we 阅读全文
摘要:
一 http协议简介 HTTP协议是Hyper Text Transfer Protocol(超文本传输协议)的缩写,是用于万维网(WWW:World Wide Web )服务器与本地浏览器之间传输超文本的传送协议。 HTTP是一个属于应用层的面向对象的协议,由于其简捷、快速的方式,适用于分布式超媒 阅读全文
摘要:
一 Web应用程序是什么 Web应用程序是一种可以通过Web访问的应用程序,程序的最大好处是用户很容易访问应用程序,用户只需要有浏览器即可,不需要再安装其他软件 应用程序有两种模式C/S、B/S。C/S是客户端/服务器端程序,也就是说这类程序一般独立运行。而B/S就是浏览器端/服务器端应用程序,这类 阅读全文
摘要:
一 缓存的收益与成本 1.1 受益 1 加速读写 2 降低后端负载:后端服务器通过前端缓存降低负载,业务端使用redis降低后端mysql负载 1.2 成本 1 数据不一致:缓存层和数据层有时间窗口不一致,和更新策略有关 2 代码维护成本:多了一层缓存逻辑 3 运维成本:比如使用了Redis Clu 阅读全文
摘要:
一 主从复制高可用 二 架构说明 可以做故障判断,故障转移,通知客户端(其实是一个进程),客户端直接连接sentinel的地址 1 多个sentinel发现并确认master有问题 2 选举触一个sentinel作为领导 3 选取一个slave作为新的master 4 通知其余slave成为新的ma 阅读全文
摘要:
一 什么是主从复制 机器故障;容量瓶颈;QPS瓶颈 一主一从,一主多从 做读写分离 做数据副本 扩展数据性能 一个maskter可以有多个slave 一个slave只能有一个master 数据流向是单向的,从master到slave 二 复制的 配置 2.1 slave 命令 2.2 配置文件 四 阅读全文
摘要:
一 子进程开销和优化 1 cpu 开销:rdb和aof文件生成,属于cpu密集型 优化:不做cpu绑定,不和cpu密集型的服务一起部署 2 内存 开销:fork内存开销,copy on write, 优化:单机部署尽量少重写 3 硬盘 开销:aof和rdb写入,可以结合分析工具使用 优化: 1 不要 阅读全文