django有哪些好处和优点


Posted in Python onSeptember 01, 2020

Django简介

Django是一种开源的大而且全的Web应用框架,是由python语言来编写的。它采用了MVC模式,什么是MVC?大家不要着急,MVC这么好的东西我在下面会精细的讲一下!Django最初是被开发来用于管理劳伦斯出版集团下的一些以新闻为主内容的网站。一款CMS(内容管理系统)软件。并于 2005 年 7 月在 BSD 许可证下发布。这套框架是以比利时的吉普赛爵士吉他手 Django Reinhardt 来命名的。

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的优点

功能完善、要素齐全:自带大量常用工具和框架(比如分页,auth,权限管理), 适合快速开发企业级网站。

完善的文档:经过十多年的发展和完善,Django有广泛的实践案例和完善的在线文档。开发者遇到问题时可以搜索在线文档寻求解决方案。

强大的数据库访问组件:Django的Model层自带数据库ORM组件,使得开发者无须学习SQL语言即可对数据库进行操作。

Django先进的App设计理念: App是可插拔的,是不可多得的思想。不需要了,可以直接删除,对系统整体影响不大。

自带台管理系统admin:只需要通过简单的几行配置和代码就可以实现一个完整的后台数据管理控制平台。

Django debug信息详尽: 很容易找出代码错误所在。

Django的缺点

大包大揽: 对于一些轻量级应用不需要的功能模块Django也包括了,不如Flask轻便。

过度封装: 很多类和方法都封装了,直接使用比较简单,但改动起来就比较困难。

性能劣势: 与C, C++性能上相比,Django性能偏低,当然这是python的锅,其它python框架在流量上来后会有同样问题。

模板问题: django的模板实现了代码和样式完全分离,不允许模板里出现python代码,灵活度对某些程序员来说可能不够。

到此这篇关于django有哪些好处和优点的文章就介绍到这了,更多相关django的好处总结内容请搜索三水点靠木以前的文章或继续浏览下面的相关文章希望大家以后多多支持三水点靠木!

Python 相关文章推荐
使用Python来开发Markdown脚本扩展的实例分享
Mar 04 Python
深入理解Python中装饰器的用法
Jun 28 Python
Python控制多进程与多线程并发数总结
Oct 26 Python
CentOS中升级Python版本的方法详解
Jul 10 Python
Python3.6日志Logging模块简单用法示例
Jun 14 Python
python 除法保留两位小数点的方法
Jul 16 Python
关于numpy数组轴的使用详解
Dec 05 Python
详解python with 上下文管理器
Sep 02 Python
python中lower函数实现方法及用法讲解
Dec 23 Python
Python基础知识学习之类的继承
May 31 Python
Jupyter Notebook内使用argparse报错的解决方案
Jun 03 Python
Python3使用Qt5来实现简易的五子棋小游戏
May 02 Python
python实现简单的五子棋游戏
Sep 01 #Python
Pycharm连接gitlab实现过程图解
Sep 01 #Python
pycharm不以pytest方式运行,想要切换回普通模式运行的操作
Sep 01 #Python
python selenium xpath定位操作
Sep 01 #Python
使用python库xlsxwriter库来输出各种xlsx文件的示例
Sep 01 #Python
Python3实现英文字母转换哥特式字体实例代码
Sep 01 #Python
python 解决pycharm运行py文件只有unittest选项的问题
Sep 01 #Python
You might like
综合图片计数器
2006/10/09 PHP
php 随机数的产生、页面跳转、件读写、文件重命名、switch语句
2009/08/07 PHP
phpMyAdmin 链接表的附加功能尚未激活的问题
2010/08/01 PHP
非常实用的php验证码类
2016/05/15 PHP
PHP实现基于图的深度优先遍历输出1,2,3...n的全排列功能
2017/11/10 PHP
javascript 广告后加载,加载完页面再加载广告
2010/11/25 Javascript
jQuery 瀑布流 绝对定位布局(二)(延迟AJAX加载图片)
2012/05/23 Javascript
js跨域访问示例(客户端/服务端)
2014/05/19 Javascript
JavaScript动态加载样式表的方法
2015/03/21 Javascript
原创jQuery弹出层插件分享
2015/04/02 Javascript
JavaScript获取一个范围内日期的方法
2015/04/24 Javascript
setTimeout内不支持jquery的选择器的解决方案
2015/04/28 Javascript
javascript实现超炫的向上滑行菜单实例
2015/08/03 Javascript
ES6中如何使用Set和WeakSet
2016/03/10 Javascript
jQuery获取table下某一行某一列的值实现代码
2017/04/07 jQuery
使用重写url机制实现验证码换一张功能
2017/08/01 Javascript
JavaScript实现树的遍历算法示例【广度优先与深度优先】
2017/10/26 Javascript
Vue代码分割懒加载的实现方法
2017/11/23 Javascript
Angularjs实现控制器之间通信方式实例总结
2018/03/27 Javascript
Vue CLI3中使用compass normalize的方法
2019/05/30 Javascript
npm 语义版本控制详解
2019/09/10 Javascript
Python时间模块datetime、time、calendar的使用方法
2016/01/13 Python
Python批量修改图片分辨率的实例代码
2019/07/04 Python
Python 多线程其他属性以及继承Thread类详解
2019/08/28 Python
python如何从键盘获取输入实例
2020/06/18 Python
python lambda的使用详解
2021/02/26 Python
html5文字阴影效果text-shadow使用示例
2013/07/25 HTML / CSS
美国球迷装备的第一来源:FOCO
2020/07/03 全球购物
软件测试英文面试题
2012/10/14 面试题
介绍一下RMI的基本概念
2016/12/17 面试题
好人好事事迹材料
2014/02/12 职场文书
小学生安全责任书
2014/07/25 职场文书
村委会贫困证明范文
2014/09/21 职场文书
2015会计试用期工作总结
2014/12/12 职场文书
给老师的一封感谢信
2015/01/20 职场文书
毕业生自荐信范文
2015/03/05 职场文书