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

相关推荐
我是无敌小恐龙13 小时前
线下班第一课
python·考研·django·ai编程
Betelgeuse762 天前
告别传统 ModelForm:用 React 与 DRF 打造现代化项目管理表单
前端·react.js·django·前端框架
编程小风筝2 天前
就业信息推荐系统 Python+Django+Vue.js
vue.js·python·django
万粉变现经纪人3 天前
如何解决 pip install flash-attention 报错 需要 SM_80+(Ampere)架构 问题
python·架构·django·bug·virtualenv·pip·pygame
云和数据.ChenGuang3 天前
机器学习之方差和标准差计算
人工智能·python·机器学习·django·pygame·deepseek
开开心心就好3 天前
经典塔防游戏移植移动端随时畅玩
java·前端·科技·游戏·edge·django·pdf
小熊Coding4 天前
Windows 上安装 mysqlclient 时遇到了编译错误,核心原因是缺少 Microsoft Visual C++ 14.0 或更高版本 的编译环境。
c++·windows·python·microsoft·django·mysqlclient·bug记录
深兰科技4 天前
深兰科技与宝武集团旗下钢友汇达成国际市场合作,俄罗斯、巴西、阿根廷市场同步推进
人工智能·django·fastapi·pygame·httpx·视觉大模型·深兰科技
betazhou4 天前
django+postgresql创建第一个网站
python·postgresql·django
二等饼干~za8986685 天前
云罗 GEO 优化系统源码厂家测评报告
大数据·网络·数据库·人工智能·django