一、MTV设计

Django系统架构图怎么画 django框架原理图_Django系统架构图怎么画

 T 模板(Template)接收用户输入后交由 V 视图(View)去处理,V 视图(View)负责连接 M 模型(Model)进行数据操作、并将操作返回的结果再传送给 T 模板(Template)进行展示。以上就是 Django 框架的 MTV 模式的基本工作原理

 二、Django框架的View视图展示机制

Django系统架构图怎么画 django框架原理图_Python_02

 在 Django 服务器启动时,会自动加载在同一目录下的配置文件(settings.py),该配置文件涵盖了项目所需的全部配置参数。其中,最重要的配置参数就是“ROOT_URLCONF”,定义了 Django 服务器使用哪个 Python 模块来用作本项目的 URLConf(一般默认为 urls.py)。

当用户在浏览器(Web Browser)中访问 url 时,Django 服务器会接收到一个 HTTP 请求,通过服务器端特定的 Handler(ModPythonHandler),创建 HttpRequest 并传递给中间组件(Request Midware)进行处理,这些中间组件起着功能增强的作用。

Django 服务器会根据 ROOT_URLCONF 配置的参数来加载 URLConf;然后按顺序逐个匹配 URLConf 中的 URLpatterns,如果匹配成功,则会调用相关联的 View 视图中间件函数,并将 HttpRequest 对象作为第一个参数向下传递;最后,通过 View 视图返回一个 HttpResponse 对象(通常是 Response)。

另外,Django 框架还实现了完整的异常处理机制,其主要是通过异常处理中间件(Exception Midware)来实现的。当系统出现异常时,异常处理中间件(Exception Midware)会截获并判断异常类型,从而返回异常错误(404 或 500 等)信息。

三、Django框架的用户操作流程

1、MVC 模式的用户操作流程:

Django系统架构图怎么画 django框架原理图_开发人员_03

 Django 框架的 MTV 模式用户操作流程,本质上与 MVC 模式的用户操作流程是一样的,也是为了在各组件间保持松耦合关系。二者只是定义上有些不同,如前文中介绍的,Django 框架的 MTV 模式指的是 M 模型(Model)、T 模板(Template)和 V 视图(View)。最重要的是,MTV 模式另外实现了一个 URL 分发器模块,其作用是将每一个 URL 页面请求分发给相应的 V 视图(View)进行处理,然后再由 V 视图(View)去调用相应的 M 模型(Model)和 T 模板(Template)。

2、Django 框架用户操作流程如图

Django系统架构图怎么画 django框架原理图_Django系统架构图怎么画_04

 用户通过浏览器向服务器端的 URL 分发器模块发起一个 URL 请求(request),这个 URL 请求会去访问视图函数(View.py)进行匹配,再进一步通过数据模型(Models)访问数据库进行数据操作,然后将操作结果逐级返回到模板(Template),并最终返回网页给用户。

 

Django框架的主要特点

这里给大家介绍 Django 框架的主要特点,其他一些小优点,读者在学习过程中会慢慢体会:

  • 基于 Python 语言及 MVC 模式,具有开发快捷、低耦合、部署方便、可重用性高和维护成本低等显著特点。
  • 通过一个 URL 分发器模块进行 URL 分派,分发器使用正则表达式来匹配 URL,支持开发人员采用自定义 URL 方式,且没有框架的特定限定,使用起来非常灵活。
  • 可以方便地生成各种表单模型,实现表单的有效性检验,且支持从自定义的模型实例生成相应的表单。
  • 具有强大且可扩展的模板语言,支持分隔设计、内容和 Python 代码,并且具有可继承性。
  • 以 Python 类的形式定义数据模型,通过 ORM(对象关系映射)将模型与关系数据库进行连接,开发人员将得到一个非常容易使用的数据库 API,同时也支持在 Django 框架中直接使用原始 SQL 语句。
  • 内置国际化系统,支持开发多种语言的 Web 网站。
  • 缓存系统采用与 memcached、Redis 等缓存系统联用的方式,提高了页面的加载速度。
  • 内置了一个可视化的、自动化管理员界面(Admin Site),其类似于一个 CMS 系统(内容管理系统),开发人员可以方便快捷地通过该界面进行人员管理和内容更新等操作。