【文档说明】PyhtonWeb开发起步课件.pptx,共(37)页,226.551 KB,由小橙橙上传
转载请保留链接:https://www.ichengzhen.cn/view-2349.html
以下为本文档部分文字说明:
PythonWeb开发基础教程(Django版)主讲:XXX第1页,共37页。第1章PythonWeb开发起步本章主要内容:PythonWeb开发简介配置Web开发环境创建Django项目第2页,共37页。1.1PythonWeb开发简介本节主要内容W
eb应用基本架构Web框架简介PythonWeb框架简介Django简介第3页,共37页。1.1.1Web应用基本架构1.C/S架构C/S指Client/Server,即客户端/服务器。客户端和服务器是两个应用程序,通常部署在两台不同的计算
机上。客户端和服务器通过网络进行通信,充分利用本机资源处理相关数据,只在网络中传输必要的数据。客户端负责将客户请求提交给服务器,再将接收到的响应结果显示给用户。服务器接收来自客户端的请求,进行相应的计算处理,然后将结果返回给客户端。第4页,共37页。2.B/S架构B/S指Brow
ser/Server,即浏览器/服务器。B/S架构将Web浏览器作为客户端应用软件,是一种特殊的C/S架构。第5页,共37页。1.1.2Web框架简介Web框架:是一组Web开发工具包,它封装了底层的数据库访问、
协议、线程等细节,使Web开发人员专注于业务逻辑设计MVC:Model(模型):用于封装应用的数据和数据处理方法。模型只提供功能接口,视图只能通过接口来访问模型功能。View(视图):用于实现用户界面,负责数据的显示,完成与用户的
交互。在早期的Web应用中,视图是由HTML元素构成的界面。在新的Web应用程序中,AdobeFlash、XHTML、XML/XSL、CSS、DHTML等新技术也用于构成Web界面。Controller(控制器):根据
用户输入调用模型和视图完成相应处理。控制器相当于调度中心,它本身不产生数据,只是接收请求并决定调用哪个模型来处理请求,然后再确定用哪个视图来显示结果。第6页,共37页。常见的MVC架构:C++语言的QT、MFC、gtkJava语言
的Struts、SpringPHP语言的ZF微软的.NETMVCPython语言的Django第7页,共37页。1.1.3PythonWeb框架简介1.DjangoDjango是Python世
界中最出名、最成熟的Web框架。Django功能全面,各模块之间结合紧密。Django提供了丰富、完善的文档,帮助开发者快速掌握PythonWeb开发技巧,并及时解决学习中遇到的各种问题。2.FlaskFlask是一个用Python实现的轻量级Web框架
,被称为“微框架”。Flask的核心简单,通过扩展组件增加其他功能。第8页,共37页。3.Web2pyWeb2py是一个大而全,为Python提供一站式Web开发支持的框架。它旨在快速实现Web应用,提供快速、安全以及可移
植的数据库支持,Web2py兼容GoogleAppEngine。4.BottleBottle是一个简单高效的遵循WSGI的微型PythonWeb框架,它只有一个文件,除Python标准库外,它不依赖于任何第三方模块。5.TornadoTorn
ado的全称是TornadoWebServer,它既可用作Web服务器,也可作为PythonWeb框架。Tornado最早用于FriendFeed、FaceBook等社交网站。第9页,共37页。1.1.4Django简介Django是一个用Python实现的开
源Web框架,最初用于劳伦斯出版集团旗下一些新闻网站的内容管理。Django于2005年7月在BSD许可证下发布,它以比利时的吉普赛爵士吉他手DjangoReinhardt的名字来命名。第10页,共37页。Django采用了类似于MVC的MTV框架,即Model(模型)、Templat
e(模板)和View(视图)。模型:数据存取层,处理所有与数据相关的事务,例如模型定义、数据读写、数据关系定义、数据有效性验证等。模板:表现层,使用模板语言设计数据在页面中的显示形式。视图:业务逻辑层,决定调用哪些模型和模板,是模型与模板之间的桥梁。Dj
ango将MVC中的“视图”分解为Django视图和Django模板,即分别决定“用哪些数据完成哪些任务”和“如何展示响应结果”。Django的视图实现了MVC中的控制器部分功能。第11页,共37页。2017年12月2日,Dj
ango发布了2.0版本,这是一次重大更新。Django2.0支持Python3.4、3.5、3.6和3.7,不再支持Python2。Django1.11.x系列版本是最后一个支持Python2.7的系列。Django2.0也是支持Python3.4的最后一个发行版本。第12页
,共37页。表1-1Django主要版本Django版本支持的Python版本1.82.7、3.2、3.3、3.4、3.51.9、1.102.7、3.4、3.51.112.7、3.4、3.5、3.62.03.4、3.5、3.6、3.72.1、
2.23.5、3.6、3.7第13页,共37页。Django主要功能如下。对象关系映射(ObjectRelationalMapping,ORM):用类来定义数据模型,ORM完成模型和关系数据库的映射。开发
人员只需要定义和使用模型,底层的各种数据库操作(数据表的创建和修改、数据读写等)由ORM完成。灵活的URL分发机制:Django通过URLconf(URL配置模块)来处理URL映射。开发人员可定义任意格式的网址模板,并可在网址模板中使用正则表达式。
模板系统:提供可扩展的模板语言,使用模板语言可快速完成模板设计,也可以很方便地使用视图传递给模板的数据。模板具有可继承性,通过继承,可以方便地进行模板的模块化设计。表单处理:Django提供了一系列内置表单,这些表单覆盖了常用的Web功能。开发人员也可通过简单的扩展,为内置表单增添自定
义功能。缓存系统:完善的缓存系统,支持多种方式的缓存。国际化:内置的国际化支持,便于开发多语种网站。admin管理站点:Django提供的内置admin管理站点具有可扩展性,是一个网站后台管理系统,可管理项目中的模型和用户。用户认证系统:提供
用户认证、权限管理以及用户组管理等功能。第14页,共37页。1.2配置Web开发环境使用Django进行PythonWeb开发,需要安装Python和Django。代码编辑器可使用Python自带的IDLE,或者使用集成开发环境(如VisualStudio、PyCharm等)。
Web服务器可使用Django自带的开发服务器,或者使用Apache、IIS等服务器。数据库可使用Python自带的SQLite,或者MySQL、MSSQLServer等本节主要内容安装Pytho
n安装Django配置系统环境变量安装VisualStudio第15页,共37页。1.2.1安装Python在Windows10系统中安装Python第16页,共37页。1.2.2安装Django第17页,共37页。1.2.3配置系统环境变量第18页,共37页。1.
2.4安装VisualStudio第19页,共37页。1.3创建Django项目一个Django项目是配置和应用的集合。每个Django项目可包含一个或多个应用,每个应用可视为一个网站,应用的视图可视为网页。本节主要内容执行命令创建项目关于django-admin
和manage.py在VisualStudio中创建项目为项目定制虚拟开发环境第20页,共37页。1.3.1执行命令创建项目1.创建项目在Windows的命令提示符窗口中执行下面的命令。D:
\>django-adminstartprojectmyDjango命令在D盘根目录中创建一个名称为myDjango的项目。django-admin将为项目创建一个名为myDjango文件夹,并在其中创建项目的其他
文件。第21页,共37页。2.了解项目组成根文件夹myDjango:根文件夹是项目容器,项目所有内容均放在该文件夹中。子文件夹myDjango:主要包含项目的4个配置文件。它是一个纯Python包,可引用其内部的任何内容,例如myD
jango.urls表示引用其中的urls.py。myDjango\_init_.py:一个空文件,告诉Python该目录是一个Python包。myDjango\settings.py:Django项目的配置文件myDjango\urls.py:Django项目的URL配置
文件,包含访问视图的URL规则。myDjango\wsgi.py:项目运行于Web服务器的入口,无须修改。WSGI是PythonWebServerGatewayInterface的缩写,即PythonWeb服务器网关接口。运行PythonWeb项目的Web服务器
应兼容WSGI。•manage.py:项目的命令行工具,用于执行项目的各种管理操作,如创建应用、执行数据库迁移、启动开发服务器等。第22页,共37页。3.运行开发服务器Django项目创建完成后,可运行Django提供的开发服务
器来测试项目是否创建成功。第23页,共37页。1.3.2关于django-admin和manage.pydjango-admin是Django提供的命令行工具,用于创建项目、创建应用、执行迁移数据库
等各种与项目有关的操作。manage.py是Django在创建项目时自动为项目创建的文件,其作用与django-admin相同。两者的区别在于:django-admin可在系统任意文件夹中使用,使用Django的全局设置;man
age.py只能在项目根文件夹中使用,它使用项目settings.py文件中的设置。第24页,共37页。manage.py和django-admin的命令格式如下。django-admin<command>[options]python-m
django<command>[options]pythonmanage.py<command>[options]其中,command为子命令,options为命令选项。例如,使用pythonmanage.pyrunse
rver8080命令启动开发服务器。在当前项目根文件夹中,可采用“manage.py<command>[options]”格式执行命令,示例代码如下。D:\myDjango>manage.pystartappfirst第25页,共37页。1.3.3添加应用1.创建应用执行下面的命令
,为项目添加一个名为first的应用。D:\myDjango>pythonmanage.pystartappfirstfirst应用中的文件夹和文件作用如下。子文件夹migrations:包含与数据库迁移有关的文件。__init__.py:Pyt
hon包的初始化文件。admin.py:与后台管理系统有关的配置文件。apps.py:应用的配置文件。models.py:应用的模型文件。tests.py:应用的测试文件。views.py:应用的视图文件。第26页,共37页。2.创建视图用IDLE打开myD
jango\first\views.py,在文件中定义一个名为index的视图函数。代码如下。fromdjango.httpimportHttpResponsedefindex(request):returnHttpResponse("这是我的第一个Django网页!")index视
图函数会在浏览器中显示一个字符串。要查看index视图函数的显示效果,还需要配置项目的URL。第27页,共37页。3.配置项目URL用IDLE打开myDjango\myDjango\urls.py文件,添加URL配置,
以访问应用first中的index视图函数,代码如下。fromdjango.contribimportadminfromdjango.urlsimportpathfromfirstimportviewsurlpat
terns=[path('first/',views.index),path('admin/',admin.site.urls),]第28页,共37页。4.测试运行效果在启动开发服务器后,在浏览器中访问http://127.0.0.1:8000第29页,共37页。1.3.4在V
isualStudio中创建项目第30页,共37页。1.3.5为项目定制虚拟开发环境虚拟开发环境指在特定目录中安装开发Python项目所需的所有软件包。不同虚拟开发环境之间是相互隔离的,避免了Python不同版本(特别是Python2和Pyt
hon3)、软件包和第三方库之间的不兼容问题。在虚拟开发环境这一个独立的环境中就不会出现版本兼容问题,也方便软件部署。在Python中可使用venv和virtualenvwrapper-win管理Python的虚拟开发环境。从Python3.3开始,venv已集成为Python的标准库,
不需要单独安装。virtualenvwrapper-win需要单独安装。第31页,共37页。1.创建虚拟环境创建虚拟环境的命令如下。D:\djcode>python-mvenvmyenv该命令在当前目录中创建子目录myenv,并使用默认
版本的Python创建虚拟环境第32页,共37页。2.使用虚拟环境在虚拟环境文件夹下的Scripts子文件夹中,包含了管理虚拟环境的命令。激活虚拟环境命令如下。D:\djcode>cdmyenv\scriptsD:\djcode
\myenv\Scripts>activate需要先进入Scripts子文件夹才能使用activate命令激活虚拟环境。虚拟环境激活后,系统提示符如下所示。(myenv)D:\djcode\myenv\Scripts>第33页
,共37页。3.使用virtualenvwrapper-win使用虚拟环境需要记住文件夹路径。在Windows环境中,可使用virtualenvwrapper-win提供的便捷命令来使用虚拟环境。安装virtualenvwrapper-win命令如下。D:\djcode>pipinst
allvirtualenvwrapper-win使用默认版本Python创建虚拟环境命令如下。D:\djcode>mkvirtualenvmyenv3第34页,共37页。使用指定版本Python创建虚拟环境命令如下。D:\djcode>mkvirt
ualenv--python=d:\Python27\python.exemyenv4查看所有虚拟环境命令如下。D:\djcode>workon第35页,共37页。激活虚拟环境命令如下,此命令可在任意位置使用
。D:\djcode>workonmyenv3关闭虚拟环境命令如下。(myenv3)D:\djcode>deactivate第36页,共37页。1.4实践:创建HelloWorld项目本节主要内容第37页,共37页。