当前位置:
文档之家› PythonWeb开发基础第1章 Pyhton Web开发起步
PythonWeb开发基础第1章 Pyhton Web开发起步
MVC:
Model(模型):
用于封装应用的数据和数据处理方法。模型只提供功能接口,视图只能通过接口 来访问模型功能。
View(视图):
用于实现用户界面,负责数据的显示,完成与用户的交互。在早期的Web应用中, 视图是由HTML元素构成的界面。在新的Web应用程序中,Adobe Flash、XHTML、 XML/XSL、CSS、DHTML等新技术也用于构成Web界面。
1.1.4 Django简介
Django是一个用Python实现的开源Web框架,最初用 于劳伦斯出版集团旗下一些新闻网站的内容管理。 Django于2005年7月在BSD许可证下发布,它以比利 时的吉普赛爵士吉他手Django Reinhardt的名字来命 名。
Django采用了类似于MVC的MTV框架,即Model(模型)、 Template(模板)和View(视图)。
Django的视图实现了MVC中的控制器部分功能。
2017年12月2日,Django发布了2.0版本,这是一次重 大更新。
Django 2.0支持Python 3.4、3.5、3.6和3.7,不再支持 Python 2。
Django 1.11.x系列版本是最后一个支持Python 2.7的系 列。
1.1.1 Web应用基本架构
1.C/S架构 C/S指Client/Server,即客户端/服务器。 客户端和服务器是两个应用程序,通常部署在两台不同的计算机上。 客户端和服务器通过网络进行通信,充分利用本机资源处理相关数
据,只在网络中传输必要的数据。 客户端负责将客户请求提交给服务器,再将接收到的响应结果显示
给用户。 服务器接收来自客户端的请求,进行相应的计算处理,然后将结果
返回给客户端。
2.B/S架构
B/S指Browser/Server,即浏览器/服务器。
B/S架构将Web浏览器作为客户端应用软件,是一种 特殊的C/S架构。
1.1.2 Web框架简介
Web框架:是一组Web开发工具包,它封装了底层的数据库访 问、协议、线程等细节,使Web开发人员专注于业务逻辑设计
模型:数据存取层,处理所有与数据相关的事务,例如模型定义、数 据读写、数据关系定义、数据有效性验证等。
模板:表现层,使用模板语言设计数据在页面中的显示形式。 视图:业务逻辑层,决定调用哪些模型和模板,是模型与模板之间的
桥梁。
Django将MVC中的“视图”分解为Django视图和Django模板, 即分别决定“用哪些数据完成哪些任务”和“如何展示响应结 果”。
Python Web开发基础教程
(Django版)
主讲:XXX
第1章 Python Web开发起步
本章主要内容: Python Web开发简介 配置Web开发环境 创建Django项目
1.1 Python Web开发简介
本节主要内容 Web应用基本架构 Web框架简介 Python Web框架简介 Django简介
1.1.3 Python Web框架简介
1.Django Django是Python世界中最出名、最成熟的Web框架。Django功
能全面,各模块之间结合紧密。 Django提供了丰富、完善的文档,帮助开发者快速掌握Python
Web开发技巧,并及时解决学习中遇到的各种问题。 2.Flask Flask是一个用Python实现的轻量级Web框架,被称为“微框
Controller(控制器):
根据用户输入调用模型和视图完成相应处理。控制器相当于调度中心,它本身不 产生数据,只是接收请求并决定调用哪个模型来处理请求,然后再确定用哪个视 图来显示结果。
常见的MVC架构:
C++语言的QT、MFC、gtk Java语言的Struts、Spring PHP语言的ZF 微软的.NET MVC Python语言的Django
Django 2.0也是支持Python 3.4的最后一个发行版本。
表1-1 Djang9、1.10 1.11 2.0 2.1、2.2
支持的Python 版本 2.7、3.2、3.3、3.4、3.5 2.7、3.4、3.5 2.7、3.4、3.5、3.6 3.4、3.5、3.6、3.7 3.5、3.6、3.7
内置表单增添自定义功能。 缓存系统:完善的缓存系统,支持多种方式的缓存。 国际化:内置的国际化支持,便于开发多语种网站。 admin管理站点:Django提供的内置admin管理站点具有可扩展性,是一个网站后台管理系统,可管理项目中的模
板,并可在网址模板中使用正则表达式。 模板系统:提供可扩展的模板语言,使用模板语言可快速完成模板设计,也可以很方便地使用视图传递给模板的
数据。模板具有可继承性,通过继承,可以方便地进行模板的模块化设计。 表单处理:Django提供了一系列内置表单,这些表单覆盖了常用的Web功能。开发人员也可通过简单的扩展,为
架”。Flask的核心简单,通过扩展组件增加其他功能。
3.Web2py Web2py是一个大而全,为Python提供一站式Web开发支持的框架。它旨在快
速实现Web应用,提供快速、安全以及可移植的数据库支持,Web2py兼容 Google App Engine。 4.Bottle Bottle是一个简单高效的遵循WSGI的微型Python Web框架,它只有一个文件, 除Python标准库外,它不依赖于任何第三方模块。 5.Tornado Tornado的全称是Tornado Web Server,它既可用作Web服务器,也可作为 Python Web框架。Tornado最早用于FriendFeed、FaceBook等社交网站。
Django主要功能如下。 对象关系映射(Object Relational Mapping,ORM):用类来定义数据模型,ORM完成模型和关系数据库的映射。
开发人员只需要定义和使用模型,底层的各种数据库操作(数据表的创建和修改、数据读写等)由ORM完成。 灵活的URL分发机制:Django通过URLconf(URL配置模块)来处理URL映射。开发人员可定义任意格式的网址模