《Django 5 By Example》读后感

news/2025/3/11 13:57:25/文章来源:https://www.cnblogs.com/codists/p/18617659

一、 为什么选择这本书?

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

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/855489.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

面向对象编程,类和对象

类的关键词 Class 类一般申明在namespace中,枚举和struct一般也在namespace中申明 类的申明语法(类前面可以加访问修饰符) class 类名 {特征——成员变量行为——成员方法保护特征——成员属性构造函数和析构函数索引器运算符重载静态成员 }类申明实例 命名使用帕斯 在同一个…

mysql mysqldump 定时备份

mysqldump方式备份Windows 一、创建bat 任务脚本 ⚠️ 内容背后不能有中文空格,否则会运行失败 新建 bat 脚本复制以下内容,安装自己的需求对内容进行修改@echo off::命令行窗口中显示此条信息 @echo 开始备份数据库::将hour设置为此刻小时位的时间,从0位置开始取2位 set h…

OCS2::ocs2_centroidal_model_质心动量模型

1. ModelHelperFunctions.cpp 1.1 updateCentroidalDynamics() : 质心动力学更新 template <typename SCALAR_T> void updateCentroidalDynamics(PinocchioInterfaceTpl<SCALAR_T>& interface, const CentroidalModelInfoTpl<SCALAR_T>& info,const …

密码学-古典密码

密码学-古典密码 前言 古典密码学(Classic cryptography)和现代密码学(Modern cryptography)的主要差别在于计算机的使用,一般来说,古典密码学是基于字符的,而现代密码学是基于二进制位的。 代换 代换密码是将明文中的字符替代成其他字符,即替代转换,若整个加密过程中…

【笔记】组合数学初步

一些初等的组合数学知识二项式系数 定义: 我们在高中时常见的二项式系数的形式是 \[C_{n}^{k} = \frac{n!}{k!(n-k)!} \]但下文将采用如下的定义: \[\binom{n}{k} = \begin{cases}\dfrac{n^{\underline{k}}}{k!} & k \ge 0\\\\0 & k < 0\end{cases} \]注意这里对 …

翻转字符串翻转单词

一、翻转字符串问题描述 请实现⼀个算法,在不使⽤额外数据结构和储存空间的情况下,翻转⼀个给定的字符串(可以使⽤单个过程变量)。 解题思路 由于不允许使用额外的数据接口和存储空间,所以我们将⼀个字符串以中间字符为轴,前后翻转,也就是将str[len]赋值给str[0],将str[0…

拒绝 Helm? 如何在 K8s 上部署 KRaft 模式 Kafka 集群?

首发:运维有术 今天分享的主题是:不使用 Helm、Operator,如何在 K8s 集群上手工部署一个开启 SASL 认证的 KRaft 模式的 Kafka 集群? 本文,我将为您提供一份全面的实战指南,逐步引导您完成以下关键任务:配置 Kafka Secret:管理用户密码和集群 ID 配置 Kafka Service:使…

Vulnhub 靶场 Jetty: 1

前期准备 靶机地址:https://www.vulnhub.com/entry/jetty-1,621/ Description Back to the Top The company Aquarium Life S.L. has contacted you to perform a pentest against one of their machines. They suspect that one of their employees has been committing frau…

人车防碰撞识别智慧矿山一体机矿山监控系统中的平台一体机和解码器如何选型?

在构建高效、可靠的视频监控系统时,选择合适的平台一体机和解码器是至关重要的一步。这不仅关系到监控系统的稳定性和可靠性,还直接影响到监控画面的清晰度和系统的扩展性。以下是在选择过程中需要考虑的关键因素,以确保您的监控系统能够满足特定场景的需求,并在未来几年内…

2024年项目管理软件对比:14款高效工具帮你提升工作效率

在快节奏的现代社会,项目管理的重要性日益凸显。为了提高工作效率,各类项目管理软件应运而生。本文将为您介绍14款高效的项目管理工具,包括禅道、Trello、Jira、Asana、Teambition、Wrike、Monday.com、ClickUp、ProjectManager、Basecamp、Zoho Projects、Smartsheet、Liqu…

2024年项目管理软件对比:14款高效工具帮你提升工作效

在快节奏的现代社会,项目管理的重要性日益凸显。为了提高工作效率,各类项目管理软件应运而生。本文将为您介绍14款高效的项目管理工具,包括禅道、Trello、Jira、Asana、Teambition、Wrike、Monday.com、ClickUp、ProjectManager、Basecamp、Zoho Projects、Smartsheet、Liqu…