Python大学教程(第2版) 课件 第13章使用Python进行Web开发.pptx

Python大学教程(第2版) 课件 第13章使用Python进行Web开发.pptx

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多

第13章使用Python进行Web开发

目录

2

第一节

Django简介

Django

4

Django是一个由Python语言编写的开源Web应用开发框架。Django与之前介绍的众多GUI开发库一样,采用了模型-视图-控制器的软件设计模式。与其他Web开发框架相比,Django有以下几个优势,使它成为最受用户欢迎的Web开发框架之一。

Django优点

5

1)Django具有完整且详实的文档支持,可以极大地方便开发人员。

2)Django提供全套的Web解决方案,包括服务器、前端开发以及数据库交互。

3)Django提供强大的URL路由配置,可以使开发人员设计并使用URL。

4)Django提供自助管理后台,可使开发人员仅做很少的修改就能够拥有一个完整的后台管理界面。

第二节

创建项目和模型

创建项目

7

使用Django进行Web开发的第一步是网站项目的创建。使用下列命令在指定路径下创建一个Django项目:

$cd项目路径

$django-adminstartprojectmysite

执行完这段命令后,可以在项目路径中找到一个名为mysite的项目文件夹。这个文件夹中包含的文件结构如下所示:

创建项目

8

其中,manage.py文件是一个Python脚本,该脚本为用户提供了对Django项目的多种交互式管理方式,而内层的mysite文件夹是Django项目的核心部分,也是该项目真正的Python包,它所包含的文件功能如下所述。

(1)__init__.py:一个空文件,用以指示Python这个目录应该被看作一个Python包。

(2)settings.py:该Django项目的配置文件,用以指明项目的各项配置。

(3)urls.py:该Django项目的URL路由器,用以匹配和调度URL请求。

(4)wsgi.py:该Django项目与WSGI兼容的Web服务器入口,作为一个入门开发者不需要了解太多关于该文件的细节。

(5)asgi.py:与wsgi.py功能相似,都用于Django项目的部署。ASGI是对WSGI的扩展,可支持异步网络服务器。

数据库设置

9

默认使用:SQLite

配置为:MySQL

其中:

(1)NAME:该项为数据库的名称。

(2)USER:数据库的用户名,使用默认的SQLite数据库时无需指定,下同。

(3)PASSWORD:数据库用户USER的密码。

(4)HOST:数据库服务器的地址,本地为localhost或。

(5)PORT:数据库服务所在的端口。

启动服务器

10

执行如下命令:

$pythonmanage.pymigrate

$pythonmanage.pyrunserver

在浏览器中访问:8000

创建应用

11

在Django中,一个项目中最重要的元素之一就是模型,它包含了项目所使用的数据结构,并可以帮助用户完成与数据库的各项交互,包括数据库表的建立,记录的增、删、改、查等;而模型则是包含在项目的一个“应用”中的,应用是完成一个特定功能的模块,如本章中要介绍的投票系统。值得一提的是,一个应用可以被运用到多个项目中,以减少代码的重复开发。也就是说,本章的投票系统可以非常容易地被加入到一个更大的网页项目中。

首先,建立一个名为polls的投票应用。

$pythonmanage.pystartapppolls

定义模型

12

Django中的模型是以Python类的形式表示的,类的定义存放在models.py文件中。例如,在投票系统中,其models.py文件定义了Question和Choice两个类:

定义模型

13

在前面的代码中,可以看到模型中的每个数据元素(术语称为“字段”)都是用字段类Field子类的一个实例定义的,其中,常用的字段类如下。

(1)AutoField:一个自动递增的整型字段,添加记录时它会自动增长。

(2)BooleanField:布尔字段,管理工具中会自动将其描述为checkbox。

(3)FloatField:浮点型字段。

(4)IntegerField:用于保存一个整数。

(5)CharField:字符串字段,单行输入,用于输入较短的字符串,如要保存大量文本,应使用TextField。CharField有一个必填参数—CharField.max_length,表示字符串的最大长度,Django会根据这个参数在数据库中限制该字段所允许的最大字符数,并自动提供校验功能。

定义模型

14

(6)EmailField:一个带有检查E-mail合法性的CharField。

(7)TextField:一个容量很大的文本字段。

(8)DateField:日期字段。有下列额外的可选参数:auto_now,当对象被保存时,自动

文档评论(0)

lai + 关注
实名认证
内容提供者

精品资料

版权声明书
用户编号:7040145050000060

1亿VIP精品文档

相关文档