一、 为什么选择这本书?

本人的工作方向为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)

《Django 5 By Example》读后感的更多相关文章

  1. 《DevOps软件架构师行动指南》读后感

    从软件架构师视角讲解了引入DevOps实践所需要拥有的技术能力,涵盖运维.部署流水线.监控.安全与审计以及质量关注,这是本书一开始内容简介的开头,本书的作者是伦恩·拜斯(Len Bass).英戈·韦伯 ...

  2. nodejs开发指南读后感

    nodejs开发指南读后感 阅读目录 使用nodejs创建http服务器; supervisor的使用及nodejs常见的调式代码命令了解; 了解Node核心模块; ejs模板引擎 Express 理 ...

  3. DevOps:软件架构师行动指南(文摘)

    第一部分 背景 第1章 DevOps是什么 第二部分 部署流水线 第三部分 横切关注点 第四部分 案例研究 第五部分 走向未来

  4. 2020年DevOps工程师入门指南

    DevOps兴起于2010年代,到现在DevOps已经在行业中拥有了一席之地,并在继续发展壮大. 有兴趣成为一名DevOps工程师吗?如果想要成为一名DevOps工程师,需要做到以下五点: 要有开发者 ...

  5. 5月29日 Java性能调优指南 读后感

    并行垃圾收集器 串行垃圾收集器 并发标记清除(CMS)垃圾收集器 Garbage First(G1)垃圾收集器 没有深入的学习G1的原理,只是看了大概的思想; SA工具:待学习

  6. 敏捷开发、DevOps相关书籍——书单

    自己瞎整理的一些书单,都是豆瓣评分比较高的书,可以作为选择的一个参考. 书名 豆瓣链接 持续交付:发布可靠软件的系统方法 https://book.douban.com/subject/6862062 ...

  7. 有奖试读—Windows PowerShell实战指南(第2版)

    为什么要学PowerShell? Windows用户都已习惯于使用图形化界面去完成工作,因为GUI总能轻易地实现很多功能,并且不需要记住很多命令.使得短时间学会一种工具成为可能. 但是不幸的是,GUI ...

  8. [转载]你所不了解的DevOps

    DevOps开发运维训练营 一旦建立了创新的文化,即使那些并非科学家或者工程师的人——诗人.演员.记者——也能以团体的形式,接受科学文化的意义.他们信奉创新文化的概念.他们以促进这种文化的方式投票.他 ...

  9. 给 DevOps 初学者的入门指南

    当我们谈到 DevOps 时,可能讨论的是:流程和管理,运维和自动化,架构和服务,以及文化和组织等等概念.那么,到底什么是"DevOps"呢? 什么是DevOps 随着软件发布迭代 ...

  10. CI Weekly #3 | 关于微服务、Docker 实践与 DevOps 指南

    CI Weekly 围绕『 软件工程效率提升』 进行一系列技术内容分享,包括国内外持续集成.持续交付,持续部署.自动化测试. DevOps 等实践教程.工具与资源,以及一些工程师文化相关的程序员 Ti ...

随机推荐

  1. 普元中间件Primeton AppServer6.5安装(Windows)

    本文在Windows环境下安装普元中间件Primeton AppServer6.5(以下简称PAS) 一.安装前准备 1.1使用软件版本 Primeton_AppServer_6.5_Enterpri ...

  2. 逆向WeChat(七)

    上篇介绍了如何通过嗅探MojoIPC抓包小程序的HTTPS数据. 本篇逆向微信客户端本地数据库相关事宜. 本篇在博客园地址https://www.cnblogs.com/bbqzsl/p/184235 ...

  3. 云原生周刊:ingress2gateway 发布 | 2023.10.30

    开源项目推荐 m9sweeper m9sweeper 是一个免费且简单的 Kubernetes 安全平台.它将行业标准的开源实用程序集成到一站式 Kubernetes 安全工具中,该工具可以帮助大多数 ...

  4. Machine Learning Week_1 Introduction 9-11

    目录 1.9 Who are Mentors? unfamiliar words 1.10 Get to Know Your Classmates unfamiliar words 1.11 Freq ...

  5. WEB 新手篇

    xctf在线场景以使用了,一直想写web题来着 001 view_scoure X老师让小宁同学查看一个网页的源代码,但小宁同学发现鼠标右键好像不管用了. 解: 查看网站源码,注释里有 flag 00 ...

  6. vue 从后端拿到验证码并点击刷新

    验证码登录的实现思路1.前端从后端拿到验证码图片2.输入验证码进行登录3.后端拿到验证码进行比对,正确登录成功. 前端请求验证码直接写在img标签中即可,不必单独发送axios请求 // templa ...

  7. 学习JavaScript第四天

    文章目录 1 回顾 内置对象 2 内置对象 2.1 Function 2.2 Global 3 DOM 部分知识点介绍 4 BOM 4.1 window ① 弹框 ② 打开关闭窗口 ③ 页面滚动 ④ ...

  8. Tortoise SVN 安装汉化教程(乌龟SVN)

    1.首先下载 去官网下载 如果下载比较慢的,链接自取 https://pan.quark.cn/s/cb6f2eee3f90 2. 安装Tortoise SVN 无脑next到完成 最后到桌面右键 你 ...

  9. 教你删除Linux中这些因特殊字符命名无法删除的文件

    我们都知道,在Linux删除一个文件可以使用rm命令,但是有一些特殊名称的文件使用普通的rm方式却没法删除,本文介绍Linux中删除特殊名称文件的多种方式. Linux文件命名规则 在介绍之前,简单说 ...

  10. 企业级zabbix监控搭建及邮件报警

    Zabbix简介   Zabbix 是由Alexei Vladishev创建,目前由Zabbix SIA在持续开发和支持.Zabbix 是一个企业级的分布式开源监控方案.Zabbix是一款能够监控各种 ...