当前位置: 首页 > news >正文

Python学习之路-Django基础:HelloDjango

Python学习之路-Django基础:HelloDjango

简介

Django,发音为[`dʒæŋɡəʊ],是用python语言写的开源web开发框架,并遵循MVC设计。劳伦斯出版集团为了开发以新闻内容为主的网站,而开发出来了这个框架,于2005年7月在BSD许可证下发布。这个名称来源于比利时的爵士音乐家DjangoReinhardt,他是一个吉普赛人,主要以演奏吉它为主,还演奏过小提琴等。由于Django在近年来的迅速发展,应用越来越广泛,被著名IT开发杂志SDTimes评选为2013SDTimes100,位列"API、库和框架"分类第6位,被认为是该领域的佼佼者。

Django的主要目的是简便、快速的开发数据库驱动的网站。它强调代码复用,多个组件可以很方便的以"插件"形式服务于整个框架,Django有许多功能强大的第三方插件,你甚至可以很方便的开发出自己的工具包。这使得Django具有很强的可扩展性。它还强调快速开发和DRY(DoNotRepeatYourself)原则。

特点

重量级框架

对比Flask框架,Django原生提供了众多的功能组件,让开发更简便快速。

  • 提供项目工程管理的自动化脚本工具
  • 数据库ORM支持(对象关系映射,英语:Object Relational Mapping)
  • 模板
  • 表单
  • Admin管理站点
  • 文件管理
  • 认证权限
  • session机制
  • 缓存

MVT模式

有一种程序设计模式叫MVC,其核心思想是分工、解耦,让不同的代码块之间降低耦合,增强代码的可扩展性和可移植性,实现向后兼容。

{{< admonition tip “提示” true >}}

MVC的全拼为Model-View-Controller,最早由TrygveReenskaug在1978年提出,是施乐帕罗奥多研究中心(Xerox PARC)在20世纪80年代为程序语言Smalltalk发明的一种软件设计模式,是为了将传统的输入(input)、处理(processing)、输出(output)任务运用到图形化用户交互模型中而设计的。随着标准输入输出设备的出现,开发人员只需要将精力集中在业务逻辑的分析与实现上。后来被推荐为Oracle旗下Sun公司Java EE平台的设计模式,并且受到越来越多的使用ColdFusion和PHP的开发者的欢迎。现在虽然不再使用原来的分工方式,但是这种分工的思想被沿用下来,广泛应用于软件工程中,是一种典型并且应用广泛的软件架构模式。后来,MVC的思想被应用在了Web开发方面,被称为Web MVC框架。

{{< /admonition >}}

MVC模式说明
  • M全拼为Model,主要封装对数据库层的访问,对数据库中的数据进行增、删、改、查操作。
  • V全拼为View,用于封装结果,生成页面展示的html内容。
  • C全拼为Controller,用于接收请求,处理业务逻辑,与Model和View交互,返回结果。
Django的MVT
  • M全拼为Model,与MVC中的M功能相同,负责和数据库交互,进行数据处理。
  • V全拼为View,与MVC中的C功能相同,接收请求,进行业务处理,返回应答。
  • T全拼为Template,与MVC中的V功能相同,负责封装构造要返回的html。

注:差异就在于黑线黑箭头标识出来的部分

http://www.lryc.cn/news/288517.html

相关文章:

  • 完成NAT实验
  • uniapp 用web-view嵌套网页地址并传参
  • 时序数据库Tdengine 批量插入避免因为主键ts时间重复导致数据被覆盖掉
  • 【小白教程】幻兽帕鲁服务器一键搭建 | 支持更新 | 自定义配置
  • Chatgpt的崛起之路
  • java截取视频最后一帧照片作为封面
  • ARM Cortex-A 内核的运行模式切换
  • 分布式因果推断在美团履约平台的探索与实践
  • 254.【2023华为OD机试真题】-任务处理(贪心算法-JavaPythonC++JS实现)
  • 《WebKit 技术内幕》学习之十五(5):Web前端的未来
  • MySQL十部曲之四:MySQL中的数据类型
  • flyway使用配置参数和注意事项介绍
  • ubuntu_qtcreator安装
  • uniapp map自定义气泡窗
  • 数据分析的理念、流程、方法、工具(上)
  • qiankun子应用静态资源404问题有效解决(涉及 css文件引用图片、svg图片无法转换成 base64等问题)
  • Python基础(二十九、pymsql)
  • 华为机考入门python3--(0)测试题1-句子平均重量
  • Linux--基础开发工具篇(1)(yum)
  • 循环测试之旅——深度解析Pytest插件 pytest-repeat
  • Java - OpenSSL与国密OpenSSL
  • 谷粒商城【成神路】-【1】——项目搭建
  • yml配置文件怎么引用pom.xml中的属性
  • SEW MOVIFIT变频一体机配置
  • nginx反向代理负载均衡
  • 项目中日历管理学习使用
  • 【单片机】使用AD2S1210旋变芯片读取转子位置和速度
  • EasyExcel实现导出图片到excel
  • Cybellum—信息安全测试工具
  • 六、Kotlin 类型进阶