python web开发Python+AIPython应用

Python Django 的学习路径

2017-07-02  本文已影响4312人  Tim_Lee

注:本文是应可乐兄 @Yi罐可乐 的邀请写下的简短文章,也是对自己学习 Python web 开发的一个总结与交待。

文章首发于与可乐合著的 github 仓库:
python-django-learning

Python 基础

当你学到 Django 的时候,我们默认你已经有了 Python 基础。如果你没有 Python 基础,或者认为自己还需要在 Python 基础上多花一些时候,你可以选择从以下三本书着手。

Django 与 Python 开发环境问题

注意:目前在维护 Django 版本为:Django 1.8(长期支持版,LTS),Django 1.10,Django 1.11(最新版,长期支持版,LTS,也是最后一个支持 Python2的版本)。

Django 1.8 官方只维护到 2018 年 4 月,Django 官方会继续为其提供相应的安全补丁。考虑到 Django 1.8 版本即将过期,因此建议从目前开始新项目都采用 Django 1.11 开发。Django 1.11 将是最后一个兼容 Python 2 的 Django 版本,将维护至 2020 年 4 月。Django 2.0 即将在 2017 年 12 月推出,从 2.0 版本开始,Django 将只支持 Python 3。Python 3 逐渐成为 Python 开发的趋势,类似 Instagram 等大公司近两年逐渐向 Python 3 迁移。

Python 3 最引人注目的是其原生异步特点(Python 3.4 实验性引入原生异步,在 Python 3.6 正式成为原生内置标准库),但是 Python 的异步生态仍未大规模广泛建立。虽然 Python 异步 web 开发框架有老牌、稳定、庞大的 Twisted(2000年初开发)、以及 2009 年 Facebook 开源出来的 Tornado,但是当前 Python web 开发的主流仍旧是包括 Django 与 Flask 在内的 Python web 同步框架。异步开发特点是一旦选择异步,整条技术栈都要换成异步相关的库(这也意味着难度大、风险高),否则异步可能就会被阻塞。对比来看,目前异步对性能提升,还没有强大到吸引知名公司去使用 Python 进行异步开发。也许 Mozilla 可能会是第一批进行 Python 异步开发的公司。Mozilla(开发火狐浏览器 Firefox 的公司)的后台目前使用 Flask 开发,据其后台开发工程师 Tarek Ziade 在 2017 年 6 月的演讲称,后续的后台系统可能尝试用 aiohttp 进行开发。

如果学习资料是这些版本以前的版本,比如 Django 1.7,则不建议再学习已经过时的资料。对于书籍是否已经过时,Two Scoops 的作者 Daniel R. Greenfeld(也是Django的项目维护者)有一个书籍清单供参考(Current Django Books)。

Django 的版本以及 Python 开发环境至关重要,请在最开始学习 Django 的时候就引起重视。由于 Python、Django以及其他第三方包的版本不同,有时候会产生与学习资料不一样的结果。建议学习过程中注意两点:

Django 基础

1. 视频

推荐使用慕课网的两门免费在线视频课程作为入门:

这两门课基本涵盖了 Django 最核心、同时也是最常用的部分,他们会给你建立一个 Django 的整体概念,便于消除你对 Django 的陌生感和恐惧感。

如果想进一步详细的了解 Django,有个综合性的教程名叫

该教程包含 gibbook 电子书(免费)以及视频部分(收费)。该教程之所以比较推荐,作者是搜狐的胡阳(博客地址)。阳哥长期在搜狐大量实际使用 Django,而且对源码比较熟悉,所以该教程讲得深入浅出,有不少独到的见解。

2. 文档

在有了视频的感性认识之后,建议马上阅读完 Django 文档的新手入门6个部分的内容,并亲手实践让代码能跑起来。文档是最权威也是最全面的 Django 参考资料。

3. 书籍与博客

3.1 英文

另外有人也经常推荐以下内容,供参考:

3.2 中文

Django 进阶

1. 视频

中文视频内容有很多,但是从内容的深度、广度、教学实践、教学质量来看,推荐慕课网的强力 Django 内容。

英文视频中,美国的 Justin Mitchel 长期专注于做 Django 培训。他的部分教学视频也放在 YouTube 上。推荐三门系列课程,分别是完成一个基本博客,增加复杂功能,到使用 django-rest-framework。内容详实,值得一看。

2. 书籍

3. 博客

Django RESTful API

Django 的 REST 化主要是两个第三方包:django-rest-frameworkdjango-tastypie。虽然后者开发时间较早,但是最推荐的是前者,即 django-rest-framework。该框架内容更全,调试也方便。

1. 文档

django-rest-framework 的文档分为英文和中文。英文就是原版的网站,中文有两个作者的翻译,但都是只翻译了入门部分。

2. 视频

3. 书籍与博客

Django 业界最新信息

修改记录

2017-10-23 更新内容

被删除内容:

《Python学习手册(第4版)》Learning Python, 5th Edition)本书中文是第四版,英文已经更新到第五版。该作者长期从事 Python 教育,他知道学习者通常会问什么问题,所以讲解也是比较详细。如果你需要快速入门 Python ,不推荐这本书。但是相信你在 Python 进阶过程中,迟早会遇到一些很 Pythonic 的问题,比如:字典的三种创建方式、列表推导式(list comprehension)和装饰器(decorator)。你可以在这里快速找到详细的讲解。作者的另外还有两本高质量的 Python 书值得一读:Python Pocket Reference: Python In Your Pocket (Pocket Reference (O'Reilly)) 以及Programming Python: Powerful Object-Oriented Programming

2017-10-27 更新内容

上一篇下一篇

猜你喜欢

热点阅读