- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 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,当对象被保存时,自动
您可能关注的文档
- Python大学教程(第2版) 课件 第1章 Python语言概述.pptx
- Python大学教程(第2版) 课件 第2章 Python基本概念.pptx
- Python大学教程(第2版) 课件 第3章 Python控制结构.pptx
- Python大学教程(第2版) 课件 第4章 函数.pptx
- Python大学教程(第2版) 课件 第5章 Python数据结构.pptx
- Python大学教程(第2版) 课件 第6章 使用模块.pptx
- Python大学教程(第2版) 课件 第7章 字符串与正则表达式.pptx
- Python大学教程(第2版) 课件 第8章 面向对象编程 Python程序设计.pptx
- Python大学教程(第2版) 课件 第9章 异常处理 Python程序设计.pptx
- Python大学教程(第2版) 课件 第10章 文件处理.pptx
文档评论(0)