大家好,关于深入了解Django框架: ORM与核心模块概览很多朋友都还不太明白,不过没关系,因为今天小编就来为大家分享关于的知识点,相信应该可以解决大家的一些困惑和问题,如果碰巧可以解决您的问题,还望关注下本站哦,希望对各位有所帮助!
Django简介
Django是一种开源的大而且全的Web应用框架,是由python语言来编写的。他采用了MVC模式,什么是MVC?大家不要着急,MVC这么好的东西我在下面会精细的讲一下!Django最初是被开发来用于管理劳伦斯出版集团下的一些以新闻为主内容的网站。一款CMS(内容管理系统)软件。并于 2005 年 7 月在 BSD 许可证下发布。这套框架是以比利时的吉普赛爵士吉他手 Django Reinhardt 来命名的。
Django版本
至今Django版本已经更新到Django3.0.5,官网下载https://www.djangoproject.com/download/
Django最新版本
说到Django版本不得不提及python版本,Python3.8 的热乎劲还没过去,Python 就又双叒叕要更新了。近日,3.9 版本(https://www.python.org/downloads/release/python-390a4/)的第四个 alpha 版已经开源。从文档中,我们可以看到官方透露的对 dict、math 等组件增加的新特性,以及下一步的开发进展。
Python最新版本
Django优点
强大的数据库功能
用 python 的类继承,几行代码就可以拥有一个丰富、动态的数据库操作接口(API),如果需要,你也能执行 SQL 语句ORM(Object-Relational Mapping“对象-关系-映射”),它实现了数据模型与数据库的解耦,即数据模型的设计不需要依赖于特定的数据库,通过简单的配置就可以轻松更换数据库
自带强大的后台功能
在admin.py中写入需要实现功能的代码,几行简单的代码就可以实现你当管理员的梦。再也不用为设计管理员而发愁了!
优雅的网址
在urls.py中用正则匹配网址,传递到对应的函数,随意你自己定义,网址可以如你所想,如你所愿。(需要注意的是:正则是一种独立的语法,并不是哪个语言所拥有的。)
具有模板系统
模板系统大大的降低了开发者头疼脑热的概率。因为模板系统设计简单,容易扩展。代码,样式分开设计。查找更清晰,修改更容易!
缓存系统
Django和memcached、redis或者其他的缓存系统联用,提高了页面的加载速度。让用户的体验度更好了!
templates 文件夹views.py 中的函数渲染 templates 中的 Html 模板,得到动态内容的网页,当然可以用缓存来提高速度。
国际化
这么好的东西,想不走上国际化都难啊。想要网页显示不同语言,比如中文、英文、还有各种语言。只需要在一个文件的设置中稍微那么修改一下。页面就会穿上各种语言的外衣。
Django 的 App 理念很好。
App 可插拔,是不可多得的思想。不需要了,可以直接删除,对系统影响不大。
怎么样?Django是否强大到不可想象的地步了?不过大家也不用高兴的太早了。因为代码还是要写的,只不过用上了Django开发网站的时候更快速,更便捷了而已!
Django具有以下特点:
- 功能完善、要素齐全:该有的、可以没有的都有,常用的、不常用的工具都用。Django提供了大量的特性和工具,无须你自己定义、组合、增删及修改。但是,在有些人眼里这被认为是‘臃肿’不够灵活,发挥不了程序员的主动能力。(一体机和DIY你更喜欢哪个?^-^)
- 完善的文档:经过十多年的发展和完善,Django有广泛的实践经验和完善的在线文档(可惜大多数为英文)。开发者遇到问题时可以搜索在线文档寻求解决方案。
- 强大的数据库访问组件:Django的Model层自带数据库ORM组件,使得开发者无须学习其他数据库访问技术(SQL、pymysql、SQLALchemy等)。当然你也可以不用Django自带的ORM,而是使用其它访问技术,比如SQLALchemy。
- 灵活的URL映射:Django使用正则表达式管理URL映射,灵活性高。
- 丰富的Template模板语言:类似jinjia模板语言,不但原生功能丰富,还可以自定义模板标签。
- 自带免费的后台管理系统:只需要通过简单的几行配置和代码就可以实现一个完整的后台数据管理控制平台。
- 完整的错误信息提示:在开发调试过程中如果出现运行错误或者异常,Django可以提供非常完整的错误信息帮助定位问题。
好了,开始正式跟大家说MVC 、MVT、ORM
大部分开发语言中都有 MVC
MVC 框架的核心思想是: 解耦.即数据模型的设计不需要依赖于特定的数据库,通过简单的配置就可以轻松更换数据库
降低各功能模块之间的耦合性,方便变更,更容易重构代码,最大程度上实现代码的重用
M 表示 model,主要用于对数据库层的封装
V 表示 view,用于向用户展示结果
C 表示 controller,是核心,用于处理请求、获取数据、返回结果
M代表的是模型(Model), V代表的是视图(View), C代表的是控制(Contrle)
MVT
Django 是一款 python 的 Web 开发框架
与 MVC 有所不同,属于 MVT 框架(是不是跟没说一样?不过我真的找不到更合适的语句了)
M 表示 model,负责与数据库交互
V 表示 view,是核心,负责接收请求、获取数据、返回结果
T 表示 template,负责呈现内容到浏览器
什么是ORM?
给大家一个图吧:
最后在给大家说一下Django中的核心模块:在坚持一下就看完了
Django核心模块
urls.py
网址入口,关联到对应的 views.py 中的一个函数(或者 generic 类),访问网址就对应一个函数。小心在设置函数的时候写错单词哦!
views.py
处理用户发出的请求,从 urls.py 中对应过来, 通过渲染 templates 中的网页可以将一些想要看到的内容输入到网页上。
models.py
与数据库操作相关,存入或读取数据时用到这个,当然用不到数据库的时候 你可以不使用。
forms.py
表单,用户在浏览器上输入数据提交,对数据的验证工作以及输入框的生成等工作。
templates 文件夹
views.py 中的函数渲染 templates 中的 Html 模板,得到动态内容的网页,当然可以用缓存来提高速度。这么好的东西,不用确实可惜!
admin.py
后台,这个就是可以用很少代码就能实现后台管理的神奇东东
settings.py
Django 的设置,配置文件,比如 DEBUG 的开关,静态文件的位置等。
结语
总之,Django的功能很强大,包括DRF等一些框架,要学的还有很多,一起加油哇。。。
用户评论
这个Django框架真的很方便,用ORM来管理数据库简直太省心了。
有19位网友表示赞同!
我之前用传统方式写SQL,现在换成Django的ORM,代码简洁多了。
有13位网友表示赞同!
核心模块的功能很强大,学完之后觉得对网站开发有很大帮助。
有20位网友表示赞同!
Django的ORM设计得很好,查询起来方便快捷。
有9位网友表示赞同!
用Django的ORM做分页处理,比我想象中简单多了。
有5位网友表示赞同!
学Django之前,我对数据库操作一窍不通,现在用ORM轻松多了。
有16位网友表示赞同!
Django的ORM支持多种数据库,这太方便了。
有18位网友表示赞同!
看了Django的简介,感觉这个框架挺适合做大型项目的。
有16位网友表示赞同!
Django的ORM让数据库操作变得像写Python代码一样简单。
有20位网友表示赞同!
核心模块里的表单处理功能让我在处理用户输入时轻松了不少。
有12位网友表示赞同!
Django的ORM还支持自定义查询,这让我在开发中有了更多的灵活性。
有5位网友表示赞同!
用Django做后端开发,ORM真的让我省去了很多麻烦。
有7位网友表示赞同!
学Django的过程中,ORM和核心模块是让我印象最深刻的两个部分。
有12位网友表示赞同!
Django的ORM支持关联查询,这对我来说是个大亮点。
有6位网友表示赞同!
通过Django的ORM,我学会了如何高效地管理数据库。
有14位网友表示赞同!
Django的ORM和核心模块的结合,让我对全栈开发有了更深的理解。
有17位网友表示赞同!
使用Django的ORM,我发现自己写代码的速度快了很多。
有15位网友表示赞同!
Django的ORM让我在开发过程中更加注重业务逻辑,而不是数据库细节。
有6位网友表示赞同!