Django简介
Django,发音为[`dʒæŋɡəʊ],Django诞生于2003年秋天,2005年发布正式版本,由Simon和Andrian开发。当时两位作者的老板和记者要他们几天甚至几个小时之内增加新的功能。两人不得已开发了Django这套框架以实现快速开发目的,因此Django生来就是为了节省开发者时间的。Django发展至今,被许许多多国内外的开发者使用,已经成为web开发者的首选框架。因此,如果你是用python来做网站,没有理由不学好Django。
选读:
Python+Django如何支撑了7 亿月活用户的Instagram?
Django版本选择
自从1.0版本开始,Django按照以下形式命名版本编号:
按照A.B或A.B.C的形式命名版本编号。A.B是主版本号,包含新功能以及对原有功能的改进,每一个新版本都向前兼容,Django大概每8个月就会发布一个主版本;C是小版本号,包含bug的修改等,每当有需要时就会发布。在Django正式版本发布之前,还会发布alpha、beta和RC版本。另外Django长期支持的版本用LTS表示。
Django推荐使用Python 3进行开发,而最后一个支持Python 2.7的版本是Django 1.11 LTS,下面是Django对Python版本的支持情况(截至2017年11月):
Django版本
Django version | Python versions |
---|---|
1.8 | 2.7, 3.2 (until the end of 2016), 3.3, 3.4, 3.5 |
1.9, 1.10 | 2.7, 3.4, 3.5 |
1.11 | 2.7, 3.4, 3.5, 3.6 |
2.0 | 3.4, 3.5, 3.6 |
2.1 | 3.5, 3.6, 3.7 |
官网描述:https://docs.djangoproject.com/en/dev/faq/install/#what-python-version-can-i-use-with-django
Web服务器和应用服务器以及Web应用框架
Web服务器(网页服务器):负责处理HTTP请求,响应静态文件,常见的有Apache、Nginx以及微软的IIS.。
应用服务器:负责处理逻辑的服务器,比如php、python的代码,是不能直接通过Nginx这种Web服务器来处理的,只能通过应用服务器来处理,常见的应用服务器有uwsgi、tomcat等。
web应用框架:一般使用某种语言,封装了常用的Web功能的框架就是Web应用框架,flask、django等都是Web应用框架。
MVC与MTV架构
Django是一个遵循MVC设计模式的框架,MVC是Model、View、Controller的三个单词的简写,分别代表模型、试图、控制器。以下图片说明了这三者之间的关系:
而Django是一个MTV的设计模式。MTV是Model、Template、View三个单词的简写,分别代表模型、模板、试图。以下图片说明这三者之间的关系:
Content-type和Mime-type的作用和区别
两者都是指定服务器和客户端之间传输数据的类型,区别如下:
- Content-type:既可以指定传输数据的类型,也可以指定数据的编码类型,例如:
text/html;charset=utf-8
- Mime-type:不能指定传输的数据编码类型。例如:
text/html
常用的数据类型如下:
- text/html(默认的,html文件)
- text/plain(纯文本)
- text/css(css文件)
- text/javascript(js文件)
- application/x-www-form-urlencoded(普通的表单提交)
- multipart/form-data(文件提交)
- application/json(json传输)
- application/xml(xml文件)
补充:
Django
的官网:https://www.djangoproject.com/Django Book
2.0版本的中文文档:http://djangobook.py3k.cn/2.0/chapter01/Django
2.0版本的中文文档:http://python.usyiyi.cn/translate/django2/index.html