《PythonWeb开发基础第1章课件.pptx》由会员分享,可在线阅读,更多相关《PythonWeb开发基础第1章课件.pptx(37页珍藏版)》请在三一办公上搜索。
1、Python Web开发基础教程(Django版),主讲:XXX,第1章 Python Web开发起步,本章主要内容:Python Web开发简介配置Web开发环境创建Django项目,1.1 Python Web开发简介,本节主要内容Web应用基本架构Web框架简介Python Web框架简介Django简介,1.1.1Web应用基本架构,1C/S架构C/S指Client/Server,即客户端/服务器。客户端和服务器是两个应用程序,通常部署在两台不同的计算机上。客户端和服务器通过网络进行通信,充分利用本机资源处理相关数据,只在网络中传输必要的数据。客户端负责将客户请求提交给服务器,再将接收
2、到的响应结果显示给用户。服务器接收来自客户端的请求,进行相应的计算处理,然后将结果返回给客户端。,2B/S架构B/S指Browser/Server,即浏览器/服务器。B/S架构将Web浏览器作为客户端应用软件,是一种特殊的C/S架构。,1.1.2Web框架简介,Web框架:是一组Web开发工具包,它封装了底层的数据库访问、协议、线程等细节,使Web开发人员专注于业务逻辑设计MVC:Model(模型):用于封装应用的数据和数据处理方法。模型只提供功能接口,视图只能通过接口来访问模型功能。View(视图):用于实现用户界面,负责数据的显示,完成与用户的交互。在早期的Web应用中,视图是由HTML元
3、素构成的界面。在新的Web应用程序中,Adobe Flash、XHTML、XML/XSL、CSS、DHTML等新技术也用于构成Web界面。 Controller(控制器):根据用户输入调用模型和视图完成相应处理。控制器相当于调度中心,它本身不产生数据,只是接收请求并决定调用哪个模型来处理请求,然后再确定用哪个视图来显示结果。,常见的MVC架构:C+语言的QT、MFC、gtkJava语言的Struts、SpringPHP语言的ZF微软的.NET MVCPython语言的Django,1.1.3Python Web框架简介,1DjangoDjango是Python世界中最出名、最成熟的Web框架。
4、Django功能全面,各模块之间结合紧密。Django提供了丰富、完善的文档,帮助开发者快速掌握Python Web开发技巧,并及时解决学习中遇到的各种问题。2Flask Flask是一个用Python实现的轻量级Web框架,被称为“微框架”。Flask的核心简单,通过扩展组件增加其他功能。,3Web2pyWeb2py是一个大而全,为Python提供一站式Web开发支持的框架。它旨在快速实现Web应用,提供快速、安全以及可移植的数据库支持,Web2py兼容Google App Engine。4BottleBottle是一个简单高效的遵循WSGI的微型Python Web框架,它只有一个文件,除
5、Python标准库外,它不依赖于任何第三方模块。5TornadoTornado的全称是Tornado Web Server,它既可用作Web服务器,也可作为Python Web框架。Tornado最早用于FriendFeed、FaceBook等社交网站。,1.1.4Django简介,Django是一个用Python实现的开源Web框架,最初用于劳伦斯出版集团旗下一些新闻网站的内容管理。Django于2005年7月在BSD许可证下发布,它以比利时的吉普赛爵士吉他手Django Reinhardt的名字来命名。,Django采用了类似于MVC的MTV框架,即Model(模型)、Template(模
6、板)和View(视图)。模型:数据存取层,处理所有与数据相关的事务,例如模型定义、数据读写、数据关系定义、数据有效性验证等。模板:表现层,使用模板语言设计数据在页面中的显示形式。视图:业务逻辑层,决定调用哪些模型和模板,是模型与模板之间的桥梁。Django将MVC中的“视图”分解为Django视图和Django模板,即分别决定“用哪些数据完成哪些任务”和“如何展示响应结果”。Django的视图实现了MVC中的控制器部分功能。,2017年12月2日,Django发布了2.0版本,这是一次重大更新。Django 2.0支持Python 3.4、3.5、3.6和3.7,不再支持Python 2。Dj
7、ango 1.11.x系列版本是最后一个支持Python 2.7的系列。Django 2.0也是支持Python 3.4的最后一个发行版本。,表1-1Django主要版本,Django主要功能如下。对象关系映射(Object Relational Mapping,ORM):用类来定义数据模型,ORM完成模型和关系数据库的映射。开发人员只需要定义和使用模型,底层的各种数据库操作(数据表的创建和修改、数据读写等)由ORM完成。灵活的URL分发机制:Django通过URLconf(URL配置模块)来处理URL映射。开发人员可定义任意格式的网址模板,并可在网址模板中使用正则表达式。模板系统:提供可扩展
8、的模板语言,使用模板语言可快速完成模板设计,也可以很方便地使用视图传递给模板的数据。模板具有可继承性,通过继承,可以方便地进行模板的模块化设计。表单处理:Django提供了一系列内置表单,这些表单覆盖了常用的Web功能。开发人员也可通过简单的扩展,为内置表单增添自定义功能。缓存系统:完善的缓存系统,支持多种方式的缓存。国际化:内置的国际化支持,便于开发多语种网站。admin管理站点:Django提供的内置admin管理站点具有可扩展性,是一个网站后台管理系统,可管理项目中的模型和用户。用户认证系统:提供用户认证、权限管理以及用户组管理等功能。,1.2 配置Web开发环境,使用Django进行P
9、ython Web开发,需要安装Python和Django。代码编辑器可使用Python自带的IDLE,或者使用集成开发环境(如Visual Studio、PyCharm等)。Web服务器可使用Django自带的开发服务器,或者使用Apache、IIS等服务器。数据库可使用Python自带的SQLite,或者MySQL、MS SQL Server等本节主要内容安装Python安装Django配置系统环境变量安装Visual Studio,1.2.1安装Python,在Windows 10系统中安装Python,1.2.2安装Django,1.2.3配置系统环境变量,1.2.4安装Visual
10、Studio,1.3 创建Django项目,一个Django项目是配置和应用的集合。每个Django项目可包含一个或多个应用,每个应用可视为一个网站,应用的视图可视为网页。本节主要内容执行命令创建项目关于django-admin和manage.py在Visual Studio中创建项目为项目定制虚拟开发环境,1.3.1执行命令创建项目,1创建项目在Windows的命令提示符窗口中执行下面的命令。D:django-admin startproject myDjango命令在D盘根目录中创建一个名称为myDjango的项目。django-admin将为项目创建一个名为myDjango文件夹,并在其
11、中创建项目的其他文件。,2了解项目组成,根文件夹myDjango:根文件夹是项目容器,项目所有内容均放在该文件夹中。子文件夹myDjango:主要包含项目的4个配置文件。它是一个纯Python包,可引用其内部的任何内容,例如myDjango.urls表示引用其中的urls.py。myDjango_init_.py:一个空文件,告诉Python该目录是一个Python包。myDjangosettings.py:Django项目的配置文件myDjangourls.py:Django项目的URL配置文件,包含访问视图的URL规则。myDjangowsgi.py:项目运行于Web服务器的入口,无须修改
12、。WSGI是Python Web Server Gateway Interface的缩写,即Python Web服务器网关接口。运行Python Web项目的Web服务器应兼容WSGI。manage.py:项目的命令行工具,用于执行项目的各种管理操作,如创建应用、执行数据库迁移、启动开发服务器等。,3运行开发服务器Django项目创建完成后,可运行Django提供的开发服务器来测试项目是否创建成功。,1.3.2 关于django-admin和manage.py,django-admin是Django提供的命令行工具,用于创建项目、创建应用、执行迁移数据库等各种与项目有关的操作。manage.p
13、y是Django在创建项目时自动为项目创建的文件,其作用与django-admin相同。两者的区别在于:django-admin可在系统任意文件夹中使用,使用Django的全局设置;manage.py只能在项目根文件夹中使用,它使用项目settings.py文件中的设置。,manage.py和django-admin的命令格式如下。django-admin optionspython -m django optionspython manage.py options其中,command为子命令,options为命令选项。例如,使用python manage.py runserver 8080命
14、令启动开发服务器。在当前项目根文件夹中,可采用“manage.py options”格式执行命令,示例代码如下。D:myDjangomanage.py startapp first,1.3.3添加应用,1创建应用执行下面的命令,为项目添加一个名为first的应用。D:myDjangopython manage.py startapp firstfirst应用中的文件夹和文件作用如下。子文件夹migrations:包含与数据库迁移有关的文件。_init_.py:Python包的初始化文件。admin.py:与后台管理系统有关的配置文件。apps.py:应用的配置文件。models.py:应用的模
15、型文件。tests.py:应用的测试文件。views.py:应用的视图文件。,2创建视图用IDLE打开myDjangofirstviews.py,在文件中定义一个名为index的视图函数。代码如下。from django.http import HttpResponsedef index(request): return HttpResponse(这是我的第一个Django网页!)index视图函数会在浏览器中显示一个字符串。要查看index视图函数的显示效果,还需要配置项目的URL。,3配置项目URL用IDLE打开myDjangomyDjangourls.py文件,添加URL配置,以访问应用
16、first中的index视图函数,代码如下。from django.contrib import adminfrom django.urls import pathfrom first import viewsurlpatterns = path(first/, views.index), path(admin/, admin.site.urls),4测试运行效果在启动开发服务器后,在浏览器中访问http:/127.0.0.1:8000,1.3.4在Visual Studio中创建项目,1.3.5为项目定制虚拟开发环境,虚拟开发环境指在特定目录中安装开发Python项目所需的所有软件包。不同虚
17、拟开发环境之间是相互隔离的,避免了Python不同版本(特别是Python 2和Python 3)、软件包和第三方库之间的不兼容问题。在虚拟开发环境这一个独立的环境中就不会出现版本兼容问题,也方便软件部署。在Python中可使用venv和virtualenvwrapper-win管理Python的虚拟开发环境。从Python 3.3开始,venv已集成为Python的标准库,不需要单独安装。virtualenvwrapper-win需要单独安装。,1创建虚拟环境创建虚拟环境的命令如下。D:djcode python -m venv myenv该命令在当前目录中创建子目录myenv,并使用默认版
18、本的Python创建虚拟环境,2使用虚拟环境在虚拟环境文件夹下的Scripts子文件夹中,包含了管理虚拟环境的命令。激活虚拟环境命令如下。D:djcodecd myenvscriptsD:djcodemyenvScriptsactivate需要先进入Scripts子文件夹才能使用activate命令激活虚拟环境。虚拟环境激活后,系统提示符如下所示。(myenv) D:djcodemyenvScripts,3使用virtualenvwrapper-win使用虚拟环境需要记住文件夹路径。在Windows环境中,可使用virtualenvwrapper-win提供的便捷命令来使用虚拟环境。安装vir
19、tualenvwrapper-win命令如下。D:djcodepip install virtualenvwrapper-win使用默认版本Python创建虚拟环境命令如下。D:djcodemkvirtualenv myenv3,使用指定版本Python创建虚拟环境命令如下。D:djcodemkvirtualenv -python=d:Python27python.exe myenv4查看所有虚拟环境命令如下。D:djcodeworkon,激活虚拟环境命令如下,此命令可在任意位置使用。D:djcodeworkon myenv3关闭虚拟环境命令如下。(myenv3) D:djcodedeactivate,1.4 实践:创建HelloWorld项目,本节主要内容,