Django(Python Web框架)
Django是一个开放源代码的Web框架,用Python写的。采用了MTV的框架模式,即模型M,模板T和视图V。它最初被开发是用来管理以新闻内容为主的网站,即是CMS(内容管理系统)软件。并于2005年7月在BSD许可证下发布。
Django是一个基于MVC构造的框架,但是在Django中,控制器接受用户输入的部分由框架自行处理,所以Django里更关注的是模型(Model)、模板(Template)和视图(Views),成为MTV模式。他们各自的责任如下:
层次 | 职责 |
---|---|
模型(Model),即数据存取层 | 处理域数据相关的所有事物:如何存取、如何验证有效性、包含哪些行为以及数据之间的关系等 |
视图(View),即表现层 | 处理与表现相关的决定:如何在页面或其他类型文件中进行显示 |
模板(Template),即业务逻辑 | 存取模型及调取恰当模板的相关逻辑,模型与模板的桥梁 |
从上表述可以看出Django视图不处理用户输入,而仅仅决定要展现哪些数据给用户,而Django模板仅仅决定如何展现Django视图指定的数据。或者说,Django将MVC中的视图进一步分解为Django视图和Django模板两个部分,分别决定"展现哪些数据"和"如何展现",使得Django的模板可以根据需要随时替换,而不仅仅限制于内置的模板。
至于MVC控制器部分,由Django框架的URLconf来实现。URLconf机制是使用正则表达式匹配URL,然后调用合适的Python函数。URLconf对于URL的规则没有任何限制,完全可以设计成任意的URL风格,不管是传统的、RESTful的或者是另类的。框架把控制层给封装了,无非与数据交互这层都是数据库表的读,写,删除,更新的操作。在写程序的时候,只要调用响应的方法就行了,非常方便。程序员把控制层东西交给Django自动完成了,只需要编写少量的代码完成很多的事情。所以,它比MVC框架考虑的问题还要深一步,因为我们大都在写控制层的程序,现在这个工作交给了框架,大大提高了工作效率。
MVC简介
MVC全称是Model View Controller,是模型(model)-视图(view)-控制器(controller)的缩写,一种软件设计典范,用一种业务逻辑、数据、界面显示分离的方法组织代码,将业务逻辑聚集到一个部件里面,在改进和个性化定制界面及用户交互时,不需要重新编写业务逻辑。典型的MVC框架的如下图所示:
其主要的特点有:
- 优点:耦合性低、重用性高、生命周期成本低、部署快、可维护性高、有利于软件工程化管理;
- 缺点:没有明确的定义、不适合中小型的应用程序、增加系统结构和实现的复杂性、视图与控制器联系过于紧密、视图对模型数据的访问效率低
Django的MTV介绍
Model(模型):和数据库相关的,负责业务对象与数据库对象(ORM)
Template:放置所有html文件;其目的是将白变量(数据库的内容)如何巧妙的嵌入到html页面中
View:负责业务逻辑,并在适当的时候调用Model和Template
此外,Django还有一个URL分发器,它的作用是将一个个URL的请求页面分别发给不同的views处理,views再调用相应的model和template
Django的安装与验证
Python安装
- 进入Python官网下载需要版本的Python(建议使用Python3的稳定版本),并进行安装
- 安装完成之后,使用Win+R,输入cmd进入windows下的命令行模型,输入python
出现如上图所示,则说明python已经正确安装
Django安装
Django的安装官网给出了三种方法可供参考,这里我将给出最常见的方法(pip安装):
- 首先,使用Win+R,输入cmd,进入windows下的命令行模式
- 其次,输入下面命令,等待Django安装完成
pip install django
安装完成之后出现如下截图(由于我的环境中已经安装过Django,卸载之后再安装就会使用缓存):
- 最后,进入python环境,验证Django的安装,如下图所示:
综上,我们的Python+Django环境已经安装成功!