Django

一、Django介绍

Django是一个开源的Web应用框架,由Python写成。采用了MTV的框架模式,它最初是被用来做CMS(内容管理系统)软件。

使用Django,程序员可以方便、快捷地创建高品质、易维护、数据库驱动的应用程序。

官方中文文档:https://docs.djangoproject.com/zh-hans/3.2/

使用Django的企业:

  • Disqus:Disqus是迄今为止从头开始构建在Django框架上的最大项目。该网站允许在网站上实施评论和选项,它提供了一个易于使用的评论插件、分析受众活动、广告和访问客户参与的工具。该产品在191个国家每月有5亿的独立访问者,每月页面浏览量超过1700万。大约750,000个网站使用Disqus,大约有3500万用户参与这些社区。该网站每月处理超过5000万条评论,Django框架帮助Disqus扩展应用程序以处理数百万用户并提高性能。
  • Youtube:早期优酷这个"视频分享平台"是基于PHP构建的,持续快速的观众增长迫使他们选择了Django框架。它帮助YouTube开发团队能快速而完美的采取行动
  • Mozilla:Mozilla是世界上第二大受欢迎的浏览器,后来为了应付日益增长的用户数量,Mozilla团队必须采用新技术,最终选择了Python+Django。这个选择让平台更有能力每月处理数亿次浏览。
  • 品趣:Pinterest是另一个流行的社交媒体平台,它允许用户找到食谱、家居和风格灵感等想法。Pinterest每月有2.5亿活跃用户,因此该网站必须处理大量用户,为了确保出色的性能,该网站使用了Django。Django在不影响其速度的情况下提供了有效扩展的能力。
  • Instagram:Instagram是增长最快的招聘和视频共享应用程序,在世界上非常流行。Django帮助Instagram扩展应用程序、处理大量数据并管理用户之间每秒更多的交互。

Django学习路线

django 架构设计图 django框架mvt_python

Django 采用了 MVT 的软件设计模式,即模型(Model),视图(View)和模板(Template)

这个MVT模式并非django首创,在其他的语言里面也有类似的设计模式MVC,甚至可以说django里面的MVT事实上是借鉴了MVC模式衍生出来的。

M,Model,模型,是用于完成操作数据库的。

V,View,视图,里面的代码就是用于展示给客户端的页面效果。

C,Controller,控制器,是一个类或者函数,里面的代码就是用于项目功能逻辑的,一般用于调用模型来获取数据,获取到的数据通过调用视图文件返回给客户端。

而MVT指的是:

M 全拼为Model,与MVC中的M功能相同,负责和数据库交互,进行数据处理。

V 全拼为View,与MVC中的C功能相同,接收请求,进行业务处理,返回应答。

T 全拼为Template,与MVC中的V功能相同,负责封装构造要返回的html。

MVT模型的工作流程

django 架构设计图 django框架mvt_django_02

路由控制器将请求转发给对应的视图函数,完成业务逻辑,视图函数将从model中获取的数据嵌入到template的中模板文件(html)渲染成一个页面字符串,返回给客户端的流程。