Python Web 框架要点

1. Web应用程序处理流程

djangoMVC架构 django mvt架构模型的模块_Web

2. Web程序框架的意义
  • 用于搭建Web应用程序
  • 免去不同Web应用相同代码部分的重复编写,只需关心Web应用核心的业务逻辑实现
3. Web应用程序的本质
  • 接收并解析HTTP请求,获取具体的请求信息
  • 处理本次HTTP请求,即完成本次请求的业务逻辑处理
  • 构造并返回处理结果——HTTP响应
4. Web框架学习方法
  • 如何搭建工程程序
    1. 工程的组建
    2. 工程的配置
    3. 路由定义
    4. 视图函数定义
  • 如何获取请求数据(操作request对象)
  • 如何构造响应数据(构造response对象)
  • 如何使用中间层
  • 框架提供的其他功能组件的使用
    1. 数据库
    2. 模板
    3. 表单
    4. admin

Django 介绍

1. 简介

Django,发音为[`dʒæŋɡəʊ],是用python语言写的开源web开发框架,并遵循MVC设计。

劳伦斯出版集团为了开发以新闻内容为主的网站,而开发出来了这个框架,于2005年7月在BSD许可证下发布。这个名称来源于比利时的爵士音乐家DjangoReinhardt,他是一个吉普赛人,主要以演奏吉它为主,还演奏过小提琴等。

由于Django在近年来的迅速发展,应用越来越广泛,被著名IT开发杂志SDTimes评选为2013SDTimes100,位列"API、库和框架"分类第6位,被认为是该领域的佼佼者。

djangoMVC架构 django mvt架构模型的模块_MVC_02


Django的主要目的是简便、快速的开发数据库驱动的网站。

它强调代码复用,多个组件可以很方便的以"插件"形式服务于整个框架,Django有许多功能强大的第三方插件,你甚至可以很方便的开发出自己的工具包。

这使得Django具有很强的可扩展性。它还强调快速开发和DRY(DoNotRepeatYourself)原则。



2. 特点

>1 重量级框架

对比 Flask框架,Django原生提供了众多的功能组件 ,让开发更加的快速 便捷。

  • 提供项目工程管理的自动化脚本工具
  • 数据库 ORM支持(对象关系映射,Object Relational Mapping)
  • 模板
  • 表单
  • admin管理站点
  • 文件管理
  • 认证权限
  • session机制
  • 缓存

>2 MVT模式

有一种程序设计模式叫 MVC,其核心思想是分工、解耦、让不同的代码块之间降低耦合,增强代码的可扩展性和可移植性,实现向后兼容。

MVC -Model-View-Controller,最早由 TrygveReenskaug在 1978年提出,是 
施乐帕罗奥多研究中心(Xerox PARC)在20世纪80年代为程序语言 Smalltalk发明的一种软件设计模式,
是为了将 传统的输入(input)、处理(processing)、输出(output)任务运用到图形化用户交互模型中而设计的。

随着标准输入输出设备的出现,开发人员只需要将精力集中在业务逻辑的分析与实现上。
后来被推荐为Oracle旗下Sun公司Java EE平台的设计模式,并且受到越来越多的使用ColdFusion和PHP的开发者的欢迎。

现在虽然不再使用原来的分工方式,但是这种分工的思想被沿用下来,广泛应用于软件工程中,是一种典型并且应用广泛的软件架构模式。
后来,MVC的思想被应用在了Web开发方面,被称为Web MVC框架。
MVC模式说明

djangoMVC架构 django mvt架构模型的模块_Web_03

  • M全拼为Model,主要封装对数据库层的访问,对数据库中的数据进行增、删、改、查操作。
  • V全拼为View,用于封装结果,生成页面展示的html内容。
  • C全拼为Controller,用于接收请求,处理业务逻辑,与Model和View交互,返回结果。


Django的MVT

djangoMVC架构 django mvt架构模型的模块_djangoMVC架构_04

  • M全拼为Model,与MVC中的M功能相同,负责和数据库交互,进行数据处理。
  • V全拼为View,与MVC中的C功能相同,接收请求,进行业务处理,返回应答。
  • T全拼为Template,与MVC中的V功能相同,负责封装构造要返回的html。

注:差异就在于黑线黑箭头标识出来的部分



环境安装

  1. 创建虚拟环境
mkvirtualenv django_py3_1.11 -p python3
  1. 安装Django
pip install Django==2.0.4
  1. 复习虚拟环境和pip的命令
# 虚拟环境
mkvirtualenv  # 创建虚拟环境
rmvirtualenv  # 删除虚拟环境
workon  # 进入虚拟环境、查看所有虚拟环境
deactivate  # 退出虚拟环境

# pip
pip install  # 安装依赖包
pip uninstall  # 卸载依赖包
pip list  # 查看已安装的依赖包
pip freeze  # 冻结当前环境的依赖包