跟老齐学Python:Django实战(全新升级版)
  • 推荐0
  • 收藏0
  • 浏览1.1K

跟老齐学Python:Django实战(全新升级版)

齐伟 (作者) 

  • 书  号:978-7-121-35503-5
  • 出版日期:2019-02-27
  • 页  数:280
  • 开  本:16(185*260)
  • 出版状态:上市销售
电子书 ¥47.40
购买电子书
纸质版 ¥79.00
基于Django新版本!本书是以Python为基础进行Web应用开发的进阶读物。书中以一个实例项目为主线,使用Django 2开发框架,在实践中边学边做,理论联系实际。每节都配有思维导图,使读者对项目需求一目了然;每章都有知识点和文档导读,引导读者"知其所以然”。相信认真阅读本书的读者,不仅能够得到"鱼”,更能得到"渔”,从而具备独立开发的能力。
本书就是要带领读者:
? 学习Django(特别声明,本书中的项目选用Django 2);
? 完成一个项目;
? 边做项目边学知识。
学习Python 的正确路径:
《跟老齐学Python:轻松入门》——>《跟老齐学Python:Django实战》——>《跟老齐学Python:数据分析》


按照Django的版本发布计划,现在已经是Django 2的时代了,所以,本书也要跟进。在本书第2版的代码中,使用了Django 2,源码依然放在:https://github.com/qiwsir/ DjangoPracticeProject。
本书的第2版相对第1版,不仅是Django版本的迭代,对部分内容也进行了修改,采用了读者对第1版提出的各种意见和建议,在此对众多热心读者表示感谢。
Web开发所需要的技术比较庞杂,那些“从前到后”都能做的开发者被称为“全栈工程师”。但是,如果本书宣称“全栈”,肯定是骗人的——请读者注意,凡是宣称“全栈”的书或课程,都要小心。要达到“全栈”的目的,不仅需要读书,更需要项目的积累。
为了协助读者了解Web开发的各种相关技术,我特意配合本书开发了一个小程序(名为:跟老齐学)。希望能够通过小程序,实现“把书读厚”的目的。至于“读薄”,抑或“放弃”,则应视读者个人的修为而定了。
扫描二维码,关注小程序(小程序名称:跟老齐学)。

除了小程序之外,QQ群(新的群号:746028518)依然是读者之间的交流园地;网站(itdiffer.com)也会一如既往地提供相关阅读资料。
非常感谢编辑老师为本书所付出的辛苦工作,以及刘燕清先生在百忙之中帮助我调试代码,在此一并表示感谢!

齐 伟
2018年7月




前言
是的,你应该开始阅读本书了。
如果读者已经通过《跟老齐学Python:轻松入门》这本书完成了Python入门,那么接下来就要用Python做一些实际项目了,做什么呢?可以做的东西真不少,比如数据统计、爬虫、机器学习、人工智能等,当然还有不可或缺的Web开发。
本书就是要带领读者:
? 学习Django(特别声明,本书中的项目选用Django 2);
? 完成一个项目;
? 边做项目边学知识。
因此,本书按照完成一个项目从易到难的顺序,以项目为主线逐渐展开对Django的学习。Django是一种在Web开发中应用非常广泛的开发框架,它能够让程序员非常快捷地建设一个网站,并且支持网站开发中各种复杂的业务。如果需要快速建设一个网站,并且希望后期还能通过迭代开发实现网站功能和性能的提升,那么Django是一个不错的选择。
Django的官方网站中有不少内容完备的文档,当然,这种完备不是针对初学者而言的。对于初学者来说,也许官方文档太简要了,因此本书的作用就是将初学者领入Django开发的大门,并引导读者熟悉使用Django官方文档。当读者阅读并练习完本书的项目后,就能够使用官方文档进行开发了,本书的目的也就达到了。
本书从始至终贯穿着一个项目实践,将开发实战中常用的Django知识串联起来,因此它不像课本那样按部就班地把每个知识点都罗列出来,而是根据项目需要,将技能融汇在实战之中。此外,如果仅从开发实践的角度学习Django,难免会出现就问题而解决问题的现象,缺少系统和深入的学习。为此,书中的每个小节都配有“知识点”,用以扩展或者系统化有关知识,特别是在“文档导读”中会向读者提供有关网络资料,试图让读者知其然并知其所以然。
在项目进行中,读者可能会遇到暂时无法理解的部分,不要纠结于一时之惑,而要跟着项目继续进行下去,或许到后面就能理解前面的内容了——“发展是硬道理”。
如果正在阅读本书的你是Web开发的初学者,此前没有做过任何网站开发,那么笔者特别建议遵循如下学习方法。
? 严格按照本书要求,将所有代码都认真敲过。不要复制代码(本书提供的源代码,仅仅是一个参考),要自己一个字母一个字母地敲进去。
? 将自己的调试结果与本书所示结果进行对照,看看是否实现了预期的功能。
? 在调试不能通过时,首先要认真检查自己的代码,包括但不限于拼写问题、缩进问题等,若还不能解决,可通过Google搜索该异常(错误),请相信,你的错误别人也同样遇到过。
? 本书所支持的网站www.itdiffer.com和QQ群(26913719)也是读者学习的助手。
? 本书提示读者阅读的官方文档,一定要认真阅读。
? 本书实际上是一个Django项目,项目中包含了多个应用。如果读者按照本书的要求,第一遍就实现了应用的功能,那只能说明本书描述无误且你的阅读能力尚可,并不代表你已经掌握了什么。只有当你把刚刚调试通过的应用删除,然后完全靠自己的记忆和理解,同样实现了该应用的功能,才能说明你掌握了相关知识技能。再次强调,要理解相关内容,就必须多重复几遍。
因为本书是以“项目为主线”的,所以不会面面俱到地将Django的所有内容介绍一遍,而是根据项目的功能需要,有选择地使用和介绍有关内容。对于具体功能的实现,书中所给出的代码也非唯一写法,读者可以使用其他更好的方式实现。
在实际的Web开发项目中,除使用Django框架外,还会用到HTML、CSS、JavaScript等知识,从而做出一个看起来有点设计感的页面。虽然说“人不可貌相”,但使用Django做出一个漂亮的前端,还是能够让人感觉很舒服的。因此,书中也涉及一些前端内容,读者在阅读时,如果缺少相关知识,可以实时补充。当然,前端知识并不是学习本书所必备的,因为凭借读者的聪明才智和无所不包的网络,掌握应付本书所需要的前端知识是非常容易的。
读者可以在GitHub上(https://github.com/qiwsir/DjangoPracticeProject)获得本书的所有代码,这些代码是最终结果,希望不会给读者的学习带来不便。
感谢为本书的面市提供帮助的编辑们,感谢我的妻子在本书编写过程中提供的支持。

齐 伟

目录

第1章 简单的博客系统 1
1.1 Django起步 1
1.1.1 Django简介 1
1.1.2 安装Django 3
1.1.3 创建项目 4
1.1.4 创建应用 6
1.1.5 网站配置 12
1.1.6 知识点 13
1.2 编写博客的数据模型类 13
1.2.1 数据模型类 14
1.2.2 发布博客文章 18
1.2.3 知识点 22
1.3 显示博客信息 24
1.3.1 显示文章标题 25
1.3.2 查看文章内容 30
1.3.3 知识点 33
第2章 用户管理 37
2.1 自定义模板和静态文件位置 37
2.1.1 自定义模板位置 38
2.1.2 自定义静态文件位置 38
2.1.3 通用静态文件和基础模板 39
2.1.4 重置管理后台模板 43
2.1.5 知识点 45
2.2 用户登录 46
2.2.1 创建应用 47
2.2.2 理解表单类 48
2.2.3 登录的视图函数 49
2.2.4 登录的前端界面 52
2.2.5 知识点 56
2.3 用内置方法实现登录和退出 58
2.3.1 内置的登录方法 58
2.3.2 判断用户是否登录 60
2.3.3 内置的退出方法 61
2.3.4 知识点 62
2.4 用户注册 64
2.4.1 简单注册 64
2.4.2 增加注册内容 67
2.4.3 管理新增的注册内容 71
2.4.4 知识点 72
2.5 关于密码的操作 74
2.5.1 修改密码 74
2.5.2 重置密码 79
2.5.3 知识点 85
2.6 维护个人信息 87
2.6.1 个人信息的数据模型类和表单类 87
2.6.2 展示个人信息 88
2.6.3 编辑个人信息 91
2.6.4 上传和裁剪头像图片 95
2.6.5 优化头像上传功能 103
2.6.6 对个人信息进行管理 106
2.6.7 知识点 107
第3章 文章管理和展示 109
3.1 管理文章栏目 109
3.1.1 设置栏目 109
3.1.2 编辑栏目 117
3.1.3 删除栏目 119
3.1.4 知识点 121
3.2 发布和显示文章 124
3.2.1 简单的文章发布 125
3.2.2 使用Markdown 130
3.2.3 文章标题列表 132
3.2.4 知识点 140
3.3 删除和修改文章 141
3.3.1 删除 141
3.3.2 修改 143
3.3.3 设置分页功能 147
3.3.4 知识点 149
3.4 文章展示 151
3.4.1 新写文章标题列表 151
3.4.2 重新编写“查看文章”功能 155
3.4.3 知识点 156
第4章 拓展网站功能 158
4.1 梳理已有功能 158
4.1.1 修改导航栏 158
4.1.2 修改登录和注册后的跳转 159
4.1.3 知识点 161
4.2 查看作者全部文章 162
4.2.1 查看某作者的文章列表 162
4.2.2 知识点 166
4.3 为文章点赞 167
4.3.1 修改数据模型类 167
4.3.2 编写视图函数 168
4.3.3 修改模板文件 169
4.3.4 知识点 173
4.4 文章的阅读次数 174
4.4.1 安装Redis 175
4.4.2 在Python中使用Redis 176
4.4.3 记录阅读次数 177
4.4.4 显示最“热”文章 178
4.4.5 知识点 180
4.5 文章的评论功能 181
4.5.1 数据模型类和表单类 181
4.5.2 实现评论功能 183
4.5.3 知识点 185
4.6 多样化显示 186
4.6.1 统计文章总数 187
4.6.2 最新发布的文章 190
4.6.3 评论最多的文章 191
4.6.4 自定义模板选择器 194
4.6.5 知识点 195
4.7 管理和应用文章标签 196
4.7.1 管理文章标签 197
4.7.2 发布文章时选择标签 202
4.7.3 在文章中显示文章标签 204
4.7.4 推荐相似文章 205
4.7.5 知识点 207
第5章 收集和展示图片 208
5.1 收集网络图片 208
5.1.1 创建图片相关类 209
5.1.2 收集和管理图片 212
5.1.3 完善图片管理功能 217
5.1.4 知识点 220
5.2 展示图片 221
5.2.1 瀑布流方式展示图片 222
5.2.2 查看图片的详细信息 225
5.2.3 知识点 226
第6章 中场休整 228
第7章 创建在线学习应用 229
7.1 基于类的视图 229
7.1.1 最简类视图 230
7.1.2 读取数据 232
7.1.3 初步了解Mixin 235
7.1.4 知识点 236
7.2 管理课程标题 237
7.2.1 判断用户是否登录 237
7.2.2 创建课程 240
7.2.3 删除课程 242
7.2.4 知识点 247
7.3 发布和学习课程内容 249
7.3.1 课程内容的数据模型 250
7.3.2 课程内容的表单类 253
7.3.3 课程内容的视图 253
7.3.4 查看课程内容 256
7.3.5 注册学习课程 260
7.3.6 知识点 264
第8章 结束和开始 266

读者评论

  • 非常好,值得阅读。

    Mr Cross发表于 2020/3/31 20:00:34

电子书版本

  • Epub