《Django 5 By Example》读后感
一、 为什么选择这本书?
本人的工作方向为 Python Web 方向,想了解下今年该方向有哪些新书出版,遂上 packt 出版社网站上看了看,发现这本书出版时间比较新(2024 年 9 月),那就它了。
从 2024 年 11 月 11 日至 2024 年 12 月 18 日期间,花了 22 天阅读完《Django 5 By Example》(《Django 项目实例精解》)。
二、这本书写了什么?
这本书通过 博客系统(mysite,第 1-3 章),书签系统(bookmarks,第 4-7 章),购物网站(myshop,第 8-11 章),在线学习网站(educa,第 12-17 章)介绍了 Django 在项目开发中的使用。
三、这本书特点
1.优点
本书出版时间比较新,跟着书上的代码敲可以确保代码能正确运行,不需要怎么修改。同时,对知识点给出了对应的文档,例如:p19,You can find more information about how to define indexes for models at https://docs.djangoproject.com/en/5.0/ref/models/indexes/。
2.缺点
这是一本让我读起来很痛苦的书,这是一本 700 多页书,读完后有一种“我花了那么多时间,收获却很少”的感觉。下面展开详细介绍:
(1)量使用 template 和 django-admin。
对于 template,在今天,前后端分离是必然的趋势,在实际的开发中,大部分的 web 开发都是前后端分离,一般是小公司或者小项目迫于人员的要求才使用 template。但是作者却在书中大量的使用的 template,可想而知,你学了这些,但是实际工作中却用不到,那意义在哪呢?
对于 django-admin,从我经历的两家使用 Django 框架的公司来说,都没有使用到,虽然样本数很少,但是功能上来说,django-admin 功能有限,很难有大的发挥,作为演示,个人觉得不错,问题依然是作者几乎整本书都是使用 django-admin,我不知道这样的意义在哪里。
(2)充斥大量无意义的形容词,啰嗦。
“This will offer you a solid introduction to Django’s capabilities and functionalities.”——去掉了 solid 对阅读完全没有影响。
又如“Blogging is the perfect starting point to build a complete Django project, given its wide range of required features, from basic content management to advanced functionalities like commenting, post sharing, search, and post recommendations. ”——perfect,wid,required 等,如果为了吸引读者在序言中使用可以理解,但都已经开始 coding 了,属实无法理解。
Online learning platforms are a great example of applications that require tools for advanced content handling.——great, advanced 这些形容词非常模糊,完全没有必要,什么叫 great example?前面 11 章的 example 是不是 great example? 什么叫 advanced content handling?
从上面的三段话中就可以体会到作者的风格:啰嗦。很多内容就鸡肋——言之无物,取值可惜。
(3)先写代码,再展示原型
我不知道这本书的排版为什么是这样,例如 p184 页的修改密码:
正常情况是我们先有这个界面(原型),然后才进行开发。但是书中的排版是反过来的,先“哐哐哐”一顿猛击键盘输出代码,然后告诉你打开 xxx 地址,我们可以看到这样一个界面。可是你不知道原型怎么设计,怎么知道 template 怎么开发呢?
(4)缺少对比与分析
作者在书中同时使用了 Redis 与 Memcached 作为缓存,那么读者自然就有问题了,那么在实际项目中我们应该使用哪个?很遗憾,我没有看到作者的分析。
四、这本书适合什么样的人?
正如作者在自序(preface)中所说:“This book should serve as a primer for programmers newly initiated to Django. The book is intended for developers with Python knowledge who wish to learn Django in a pragmatic manner.(本书可以作为刚接触 Django 的程序员的入门读物。本书适用于想以实战的方式学习 Django 的 Python 开发人员。)”,本书适合对 Django 有所了解,同时想通过项目去掌握 Django 的新手。
这本书的重点在于讲解 example, 不是讲解 Django。
五、推荐指数
按照 5 星的标准,本书推荐指数 2 颗星。
六、参考资料
1. 编程
(1) Antonio Melé,《Django 5 By Example》:https://book.douban.com/subject/37007362/
2. 英语
(1) Etymology Dictionary:https://www.etymonline.com
(2) Cambridge Dictionary:https://dictionary.cambridge.org
欢迎搜索及关注:编程人(a_codists)
版权声明: 本文为 InfoQ 作者【codists】的原创文章。
原文链接:【http://xie.infoq.cn/article/4e1edaa74d3658b9e91f2c08a】。文章转载请联系作者。
评论