Django调研

1. Django 简介

基本介绍

Django 是一个由 Python 编写的一个开放源代码的 Web 应用框架

使用 Django,只要很少的代码,Python 的程序开发人员就可以轻松地完成一个正式网站所需要的大部分内容,并进一步开发出全功能的 Web 服务 Django 本身基于 MVC 模型,即 Model(模型)+ View(视图)+ Controller(控制器)设计模式,MVC 模式使后续对程序的修改和扩展简化,并且使程序某一部分的重复利用成为可能

MVC 优势:

  • 低耦合
  • 开发快捷
  • 部署方便
  • 可重用性高
  • 维护成本低
  • ...

Python 加 Django 是快速开发、设计、部署网站的最佳组合

特点

  • 强大的数据库功能
  • 自带强大的后台功能
  • 优雅的网址

2. MVC 与 MTV模型

MVC 模型

MVC 模式(Model--view--controller)是软件工程中的一种软件架构模式,把软件系统分为三个基本部分:模型(Model)、视图(View)和控制器(Controller)

MVC 以一种插件式的、松耦合的方式连接在一起。

  • 模型(M)- 编写程序应有的功能,负责业务对象与数据库的映射(ORM)
  • 视图(V)- 图形界面,负责与用户的交互(页面)
  • 控制器(C)- 负责转发请求,对请求进行处理

用户操作流程图:


MTV 模型

Django 的 MTV 模式本质上和 MVC 是一样的,也是为了各组件间保持松耦合关系,只是定义上有些许不同,Django 的 MTV 分别是指:

  • M 表示模型(Model):编写程序应有的功能,负责业务对象与数据库的映射(ORM)
  • T 表示模板 (Template):负责如何把页面(html)展示给用户
  • V 表示视图(View):负责业务逻辑,并在适当时候调用 Model和 Template

除了以上三层之外,还需要一个 URL 分发器,它的作用是将一个个 URL 的页面请求分发给不同的 View 处理,View 再调用相应的 Model 和 Template,MTV 的响应模式如下所示:

简易图:

用户操作流程图:

解析:

用户通过浏览器向我们的服务器发起一个请求(request),这个请求会去访问视图函数:

  • a.如果不涉及到数据调用,那么这个时候视图函数直接返回一个模板也就是一个网页给用户
  • b.如果涉及到数据调用,那么视图函数调用模型,模型去数据库查找数据,然后逐级返回

视图函数把返回的数据填充到模板中空格,最后返回网页给用户

MVC模型和MTV模型比较

100. 参考资料

Django 简介 | 菜鸟教程

相关推荐
Q_Q19632884754 小时前
python+django/flask的医院财务管理系统
spring boot·python·django·flask·node.js
狮子也疯狂12 小时前
基于Django实现的智慧校园考试系统-自动组卷算法实现
python·算法·django
java1234_小锋1 天前
[免费]基于Python的农产品可视化系统(Django+echarts)【论文+源码+SQL脚本】
python·信息可视化·django·echarts
wxin_VXbishe1 天前
springboot在线课堂教学辅助系统-计算机毕业设计源码07741
java·c++·spring boot·python·spring·django·php
JELEE.1 天前
Django中的clean()方法和full_clean()方法
后端·python·django
B站_计算机毕业设计之家3 天前
深度血虚:Django水果检测识别系统 CNN卷积神经网络算法 python语言 计算机 大数据✅
python·深度学习·计算机视觉·信息可视化·分类·cnn·django
Q_Q5110082853 天前
python+django/flask的校园活动中心场地预约系统
spring boot·python·django·flask·node.js·php
Q_Q19632884753 天前
python+django/flask基于机器学习的就业岗位推荐系统
spring boot·python·django·flask·node.js·php
dreams_dream3 天前
Django序列化器
后端·python·django
懷淰メ3 天前
python3GUI--短视频社交软件 By:Django+PyQt5(前后端分离项目)
后端·python·django·音视频·pyqt·抖音·前后端