Django的简介:
1. 概述
Django是一个开放源代码的Web应用框架,由Python写成 ; 它遵守BSD版权,初次发布于2005年7月, 并于2008年9月发布了第一个正式版本1.0。
Django是一个开放源代码的Web应用框架,由Python写成 ; 它遵守BSD版权,初次发布于2005年7月, 并于2008年9月发布了第一个正式版本1.0; 而且采用了MVC的软件设计模式,即模型M,视图V和控制器C , 并对MVC架构提供了支持(MTV) . Python下有许多款不同的 Web 框架, 比较有名的有Flask、Django、Tornado、Pyramid、Bottle、Web2py、web.py等, 其中Django是重量级选手中最有代表性的一位, 许多成功的网站和APP都基于Django。
2. Django中的MVC模式 :
概述 : 一种软件设计典范, 用一种业务逻辑,数据, 界面显示分离的方法组织代码, 将业务逻辑聚集到一个部件里面。
核心思想 : 解耦
图解 :
编程模式 :
model( 模型): 是应用程序中用于处理应用程序数据逻辑的部分(通常模型对象负责在数据库中存储数据)
view(视图): 处理数据显示的部分
controller(控制器): 是应用程序中处理用户交互的部分, 从视图读取数据, 向模型发送数据
优点 : 降低各功能模块之间的耦合性, 方便变更, 更容易重构代码, 最大程度上实现了代码的重用.
浏览器中MVC的表现形式图解:
3. Django中的MVT模式 :
概述 : 严格来说,Django的模式应该是MVT模式,本质上和MVC没什么区别,也是各组件之间为了保持松耦合关系,只是定义上有些许不同。
编程模式 :
model(模型): 负责业务对象与数据库的对象(ORM)
view(视图): 负责业务逻辑,并在适当的时候调用model和template
template(模板): 负责如何把页面渲染展示给用户
注意 : Django中还有一个url分发器,也叫作路由。主要用于将url请求发送给不同的View处理,View在进行相关的业务逻辑处理。
图解Django执行过程:
4. Web应用机制及相关术语 :
Web应用的工作流程 :
相关术语 :
序号 | 术语 | 含义 |
---|---|---|
1 | URL/URI | 统一资源定位符/统一资源标识符, 网络资源的唯一标识. 协议://IP地址或域名:端口号 / 路径1 / 路径2 / 资源 |
2 | 域名 | 与Web服务器地址对应的一个易于记忆的字符串名字 |
3 | DNS | 域名解析服务,可以将域名转换成对应的IP地址 |
4 | IP地址 | 网络上的主机的身份标识,通过IP地址可以区分不同的主机 |
5 | HTTP | 超文本传输协议,构建在TCP之上的应用级协议,万维网数据通信的基础 |
6 | 反向代理 | 代理客户端向服务器发出请求,然后将服务器返回的资源返回给客户端 |
7 | Web服务器 | 接受HTTP请求,然后返回HTML文件、纯文本文件、图像等资源给请求者 |
8 | Nginx | 高性能的Web服务器,也可以用作反向代理,负载均衡 和 HTTP缓存 |
扩充 : 静态页面 : 页面中的内容是动态生成的.
动态页面: 页面中的内容是用程序自动生成的.
web应用: 基于浏览器来使用的应用程序, 只要有网络和浏览器就能够使用它. 如果应用程序升级那么用户不用做任何 特殊处理.
开发工具: Ethereal --> Wireshark ; HTTP(s) --> Charles ; chrome --> 开发人员工具
冗余校验码: 任何一个[散列函数]都可以用于冗余检校验。最简单的冗余校验,叫作[校验和]它包括[校验位][校验码][纵向冗余校验]。其它类型的冗余校验包括[循环冗余校验]、水平冗余校验、竖直冗余校验以及Cryptographic Message Digest。 在通信领域中,冗余校验是消息中附加的用于错误检测与错误校正的数据。
OSI参考模型 : 应用层 - 定义应用级协议 OICQ / QQ / HTTP / HTTPS / SMTP / FTP / Telnet / SSH
传输层 - 端到端可靠通信 TCP / UDP
网络层 - 寻址 + 路由 IP
物理链路层 - 分帧 + 校验