精通Django 3 Web开发
上QQ阅读APP看书,第一时间看更新

1.7 本章小结

Django是一个开放源代码的Web应用框架,由Python写成,最初用于管理劳伦斯出版集团旗下的一些以新闻内容为主的网站,即CMS软件,于2005年7月在BSD许可证下发布,这套框架是以比利时的吉卜赛爵士吉他手Django Reinhardt来命名的。Django采用了MTV的框架模式,即模型(Model)、模板(Template)和视图(Views),三者之间各自负责不同的职责。

  • 模型:数据存取层,处理与数据相关的所有事务,例如如何存取、如何验证有效性、包含哪些行为以及数据之间的关系等。
  • 模板:表现层,处理与表现相关的决定,例如如何在页面或其他类型的文档中进行显示。
  • 视图:业务逻辑层,存取模型及调取恰当模板的相关逻辑,模型与模板的桥梁。

Django是一个Web应用框架,WSGI是定义Web应用框架和Web服务器(Apache或Nginx)的通信协议。一个完整的网站必须包含Web服务器、Web应用框架和数据库。用户通过浏览器访问网址的时候,这个访问操作相当于向网站发送一个HTTP请求,网站首先由Web服务器接受用户的HTTP请求,然后Web服务器通过WSGI接口将请求转发到Web应用框架进行处理,并得出处理结果,Web应用框架通过WSGI接口将处理结果返回给Web服务器,最后由Web服务器将处理结果返回到用户的浏览器,用户即可看到相应的网页内容。

网站开发可以分为前端和后端开发,前端开发是指网页设计,我们在浏览器看到网站的图片、文字、音乐、视频等内容排版都是由前端开发人员实现;后端开发是为前端开发提供实际的数据内容,比如提供文字内容、图片和音乐及视频的路径地址等信息。

前端开发人员必须掌握HTML、CSS和JavaScript的基础语言,在这些基础语言上延伸了许多前端框架,比如jQuery、Bootstrap、Vue、React和AngularJS等。后端开发人员必须掌握后端开发语言、数据库应用原理、Web服务器应用原理和基础运维技术,目前较为热门的后端开发语言分别有Java、PHP、Python和GO语言;数据库为MySQL、MSSQL、Oracle和Redis等。尽管明确划分了网站开发的职责,在实际工作中,特别是一些中小企业,他们要求后端开发人员必须掌握前端开发技术,无须精通前端开发,但必须掌握基本的应用开发,比如网站的布局调整或编写简单的JavaScript脚本。

Django的安装建议使用pip执行安装,安装的方法如下:

两种不同的安装方法都是使用pip执行的,唯一的不同之处在于前者在安装过程中会从互联网下载安装包,而后者直接对本地已下载的安装包进行解压安装。Django安装完成后,在Python交互解释器模式校验安装是否成功:

Django的目录结构以及含义如下:

  • manage.py:命令行工具,内置多种方式与项目进行交互。在命令提示符窗口下,将路径切换到MyDjango项目并输入python manage.py help,可以查看该工具的指令信息。
  • __init__.py:初始化文件,一般情况下无须修改。
  • asgi.py:用于启动异步通信服务,比如实现在线聊天等异步通信功能。
  • settings.py:项目的配置文件,项目的所有功能都需要在该文件中进行配置,配置说明会在下一章详细讲述。
  • urls.py:项目的路由设置,设置网站的具体网址内容。
  • wsgi.py:全称为Python Web Server Gateway Interface,即Python服务器网关接口,是Python应用与Web服务器之间的接口,用于Django项目在服务器上的部署和上线,一般不需要修改。
  • migrations:用于生成数据迁移文件,通过数据迁移文件可自动在数据库里生成相应的数据表。
  • __init__.py:index文件夹的初始化文件。
  • admin.py:用于设置当前App的后台管理功能。
  • apps.py:当前App的配置信息,在Django 1.9版本后自动生成,一般情况下无须修改。
  • models.py:定义数据库的映射类,每个类可以关联一张数据表,实现数据持久化,即MTV里面的模型(Model)。
  • tests.py:自动化测试的模块,用于实现单元测试。
  • views.py:视图文件,处理功能的业务逻辑,即MTV里面的视图(Views)。

此外,作为Web开发者必须掌握Django的功能调试方法,学会如何使用PyCharm调试项目以及分析项目在运行过程中出现的异常信息。