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 简介 | 菜鸟教程

相关推荐
Python私教2 小时前
Django 6.1 RC1 实测:FETCH_PEERS 两条 SQL 解决 N+1,select_related 还需要吗?
后端·python·django
Python私教3 小时前
Django 6.0 自带 Tasks 到底能不能替代 Celery?跑完 3 组后台任务后我有答案了
后端·python·django
韭菜炒鸡肝天10 小时前
Django模型迁移指南:从命令用法到最佳实践
数据库·django·sqlite
weixin_BYSJ19871 天前
springboot旅游景点以及美食地图小程序---附源码75422
java·javascript·c++·spring boot·python·django·php
qq_22589174662 天前
基于Python的城市内涝积涝监测数据可视化分析系统
后端·python·信息可视化·数据分析·django
米码收割机2 天前
【Python】Python Django+Vue3校园自习室预约管理系统(源码+文档+PPT)【独一无二】
开发语言·python·django
米码收割机2 天前
【移动】线上购物移动端网站(源码+文档)【独一无二】
java·开发语言·前端·python·django
weixin_BYSJ19873 天前
springboot校园自习室管理小程序---附源码32142
java·javascript·spring boot·python·django·flask·php
智购科技自动售货机工厂3 天前
即时零售的风吹到自动售货机行业,会带来什么变化?~YH
大数据·人工智能·django·fastapi·零售·tornado
想你依然心痛3 天前
预测未来用电趋势,机器学习算法在能耗管理中的落地
随机森林·django·数据清洗·特征工程·电力负荷预测·时序数据·能耗管理