概述
Django,发音:dʒæŋɡəʊ
- 开源的 Web应用框架,由Python写成
- 采用了 MTV 的框架模式
- 最初用于开发管理劳伦斯出版集团旗下的一些以新闻内容为主的网站的,即是CMS(内容管理系统)软件
- 并于2005年7月在 BSD许可证 下发布。
- 以比利时的吉普赛爵士吉他手Django Reinhardt来命名的
官方网站
https://www.djangoproject.com/
文档网址
https://docs.djangoproject.com/en/2.0/
相关网站
https://code.ziqiangxuetang.com/django/django-views-urls.html
适合做什么
使用Django框架,可以很方便快速的开发web应用
如:博客、新闻网站、豆瓣网站等
优点
自带的 ORM 功能强大:拥有强大的数据库操作接口(QuerySet API),也能执行原生SQL
自带强大后台:网站拥有一个强大的后台,轻松管理内容
优雅的网址:用正则匹配网址,传递到对应函数,随意定义。
Template功能较好:易扩展的模版系统,设计简易,代码,样式 分开设计,更容易管理。
缓存系统:与memcached,redis等缓存系统联用,更出色的表现,更快的加载速度。
国际化:完全支持多国语言应用,允许定义翻译的字符,轻松翻译成不同国际的语言。
缺点
大包大揽: 对于一些轻量级应用不需要的功能模块Django也包括了,不如Flask轻便。
过度封装: 很多类和方法都封装了,直接使用比较简单,但改动起来就比较困难。
性能劣势: 与C, C++性能上相比,Django性能偏低,当然这是python的锅,其它python框架在流量上来后会有同样问题。
Template 功能比较弱: django的模板实现了代码和样式完全分离,不允许模板里出现python代码,灵活度不够。
自带的 ORM 远不如 SQLAlchemy 强大,除了在 Django ,SQLAlchemy 是 Python 世界里事实上的 ORM 标准,其它框架都支持 SQLAlchemy 了
版本的选择
本系列文章讲解1.11.20版本,原因如下:
django按照A.B或A.B.C的形式命名版本编号。A.B是主版本号,包含新功能以及对原有功能的改进,每一个新版本都向前兼容,Django大概每8个月就会发布一个主版本;C是小版本号,包含bug的修改等

上图网址:https://www.djangoproject.com/download/#ft3
1.x版本与2.x版本区别较大(小版本号可忽略),2.x版本较新,但从下图时间上看,更像一个过度产品,2020年就出3.x版
lts是长期支持(Long Term Support)的缩写,1.11是lts支持时间较长,而且支持python2和python3,网上资料多,利于学习

上图网址:https://www.djangoproject.com/download/#ft3
见上图,截止本文,1.x最新版本是1.11.20
注意:技术不是越新越好,最新的技术一旦出现bug,官方没解决,一般会耽误工期,造成较大损失
感谢文章:
https://blog.csdn.net/weixin_42134789/article/details/80753010
https://blog.csdn.net/tulan_xiaoxin/article/details/79132169