- 问:Django 的文档这么全了,还需要买书看吗?
- the5fire答:
单纯的学习 Django 提供的功能的话,看文档就够了,前提是你英文阅读还行,不过很多「残卷」的中文翻译看起来也不太省时间。当然也有人把 Django 文档做了整理,翻译成中文版,弄成书,这个另说。
通过文档可以学习 Django 本身的东西。而通过书,除了介绍 Django 本身的功能点,还会讲怎么用,作者会怎么用,里面涉及到使用经验的总结。当然缺点的话是一本书显然没有文档覆盖的全,毕竟 Django 的文档是出了名的全,导出成 PDF 也得 1000 多页。
- 问:为什么是写一个这么简单的博客系统,而不是更加实际的企业中的案例呢?
- the5fire答:
我可以写一写企业中开发过的项目,比如写一个新闻系统,或者写一个游戏下载中心等等。但这些系统背后的复杂度是比较高的,光是讲明白需求可能就要好几章,并且还需要依赖企业中的一些资源才能落实。
企业中其实并没有固定的案例,这家公司是做新闻系统的,那家公司是做社交产品的,所以即便是讲了一个完全真实的系统也作用不大。在实际工作中我们经常需要去开发自己没开发过的业务,这是一种常态。所以能快速的理解需求,把需求转化为要开发的功能点也是一种能力。实际上,我们所做的事情就是,使用我们已经掌握的技术(Python、Django等)来实现我们理解的需求。
以博客系统为主线来讲解 Django 开发有两个原因:一、读者不需要花太大的力气就可以弄懂需求,进而可以专注在如何实现这一需求上;二、我常说,我们所谓的有几年开发经验,并不是说你工作了几年就真的有几年的开开发经验了,如果你每年搞一个新项目, 搞了三年,那恐怕你也只有一年的工作经验,为啥?因为你从来没有机会去不断的维护自己开发的系统,这导致你不知道代码要怎么写才合理,结构要怎么设计才合理。因为你写完它就把它扔了,继续用现在的经验去再搞一个新的项目。就像「狗熊掰棒子」,最终还是掌握的那么点儿东西。
- 问:为什么用 Django 1.11 版本,而不是最新版。
- the5fire答:
可以先查看下 Django 官网的发版计划:https://www.djangoproject.com/download/#supported-versions。
我这么做有两个原因:
Django 1.11 是 LTS(Long Term Support,也就是长期支持)版本,其维护期是截止到2020年4月份的。Django 2.0 是截止到 2019 年 4 月份。
Django 1.11 最为兼容Python 2和3的最新的版本,是在使用 Python 2的公司能够用到的最新版本。 可以预见的是 1.11 的版本的生命力会很长很长。
- 问:视频和书的差别是什么?买了书还有必要买视频吗?
- the5fire答:
图书是在视频之后产出的,基于Python3.6 和 Django 1.11(LTS版本),在书最后会升级到Django 2.0,内容上会更加细致。
视频是基于Python 2.7和Django 1.11(LTS版本) 的版本,最终会升级到 Python3.6 和 Django2.0,内容上会更加动态,信息量会更大,毕竟书上不能带着你写代码,视频是可以非常直观的演示代码编写的。
- 问:为什么你放在 Github 上的代码不能执行?
- the5fire 答:
有两个情况:
- Github 上的代码没有跟书上保持一致,原因可能是书稿在不断校对之后,没有保持统一,遇到这类问题,我会很快的推上去。
- 书上的代码以及放到 Github 上的代码,都是在 Mac 系统和 Linux 系统上运行过的,如果你的 Windows 上,可能会遇到一些问题,你可以针对错误提示搜索一下,调整代码。不过这类问题应该很少出现。除了第二章 Socket 编程部分,这部分我是强烈建议遇到问题死磕一下。
- 问:你这本书的定位是什么?入门还是进阶?
- the5fire 答:
这确实是一个比较尴尬的问题,我给书的定位是:学习了 Python 基础的人,想要学习 Web 开发的人。但是有些人的评价是这本书有点进阶,遗憾的是,书里面所有的知识应该是一个工作一两年的 Python Web 工程师应该掌握的,所以各位读者可以自检一下。
这里再偏个题,很多人觉得看完一本 Python 基础教程,就算是 Python 入门了。其实并不是。看完是一回事,能用 Python 来干活是另外一回事。对于 《Django企业开发实战》也是一样,单纯看完并不能让你掌握这些东西。所以问题还是回归的第二个问题:「为什么是写一个这么简单的博客系统,而不是更加实际的企业中的案例呢?」
《Django企业开发实战》购买地址:
京东:https://item.jd.com/12537842.html
当当:http://product.dangdang.com/26509799.html
- from the5fire.com微信公众号:Python程序员杂谈