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下Fabric的简单部署方法
Jul 14 Python
为Python的Tornado框架配置使用Jinja2模板引擎的方法
Jun 30 Python
详解python的webrtc库实现语音端点检测
May 31 Python
python机器学习之神经网络(三)
Dec 20 Python
python3实现随机数
Jun 25 Python
python matlibplot绘制3D图形
Jul 02 Python
python打开使用的方法
Sep 30 Python
Python使用PyQt5/PySide2编写一个极简的音乐播放器功能
Feb 07 Python
Pycharm新手使用教程(图文详解)
Sep 17 Python
使用py-spy解决scrapy卡死的问题方法
Sep 29 Python
Anaconda+spyder+pycharm的pytorch配置详解(GPU)
Oct 18 Python
python自动化操作之动态验证码、滑动验证码的降噪和识别
Aug 30 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
使用PHP实现二分查找算法代码分享
2011/06/24 PHP
php实现快速排序法函数代码
2012/08/27 PHP
关于php正则匹配汉字的方法介绍
2013/04/25 PHP
php的array数组和使用实例简明教程(容易理解)
2014/03/20 PHP
Thinkphp微信公众号支付接口
2016/08/04 PHP
php生成0~1随机小数的方法(必看)
2017/04/05 PHP
php pdo连接数据库操作示例
2019/11/18 PHP
javascript显示选择目录对话框的代码
2008/11/10 Javascript
JS小功能(setInterval实现图片效果显示时间)实例代码
2013/11/28 Javascript
jquery选择器原理介绍($()使用方法)
2014/03/25 Javascript
理解Javascript的动态语言特性
2015/06/17 Javascript
IE8下jQuery改变png图片透明度时出现的黑边
2015/08/30 Javascript
node使用Koa2搭建web项目的方法
2017/10/17 Javascript
JS实现点击链接切换显示隐藏内容的方法
2017/10/19 Javascript
Vue框架之goods组件开发详解
2018/01/25 Javascript
vue使用中的内存泄漏【推荐】
2018/07/10 Javascript
BootstrapValidator验证用户名已存在(ajax)
2019/11/08 Javascript
[45:32]Liquid vs LGD 2018国际邀请赛淘汰赛BO3 第二场 8.23
2018/08/24 DOTA
[45:25]完美世界DOTA2联赛循环赛 PXG vs IO 第一场 11.06
2020/11/09 DOTA
Python3.6正式版新特性预览
2016/12/15 Python
Python Socket使用实例
2017/12/18 Python
python正则中最短匹配实现代码
2018/01/16 Python
python web.py开发httpserver解决跨域问题实例解析
2018/02/12 Python
Python 绘图库 Matplotlib 入门教程
2018/04/19 Python
python操作excel的包(openpyxl、xlsxwriter)
2018/06/11 Python
python学生信息管理系统(初级版)
2018/10/17 Python
python实现双色球随机选号
2020/01/01 Python
详解Python 重学requests发起请求的基本方式
2020/02/07 Python
基于python SMTP实现自动发送邮件教程解析
2020/06/02 Python
俄罗斯鲜花递送:AMF
2020/04/24 全球购物
Prototype如何更新局部页面
2013/03/03 面试题
学校党委副书记个人对照检查材料思想汇报
2014/09/28 职场文书
学生逃课检讨书1000字
2014/10/20 职场文书
大学生团员个人总结
2015/02/14 职场文书
一条 SQL 语句执行过程
2022/03/17 MySQL
搭建zabbix监控以及邮件报警的超级详细教学
2022/07/15 Servers