专注于实战,以项目为主线,帮助读者轻松掌握Python应用。
轻松幽默,毫无做作晦涩之感,让编程不枯燥,不乏味。
指导读者理解Python编程思想,领略Python魅力,授之以渔。
Django是Python语言的一种应用广泛的用于开发网站的框架。本书以一个网站实例为主线,贯穿始终,以实战的方式讲述Django框架的应用以及相关的网站开发知识。内容不仅涵盖Django相关内容,还包括网站开发中常用的前端框架如bootstrap等。随着本书中的学习,最终即可完成一个功能完善、界面友好的网站项目。
江湖名号:老齐。Github名称是qiwsir,个人网页www.itdiffer.com。喜欢Python语言,不仅将它用于工作中,还愿意帮助更多人学习Python。
目录
第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  网站配置 11
1.1.6  知识点 12
1.2  编写博客的数据模型类 12
1.2.1  数据模型类 13
1.2.2  发布博客文章 17
1.2.3  知识点 21
1.3  显示博客信息 23
1.3.1  显示文章标题 24
1.3.2  查看文章内容 28
1.3.3  知识点 32
第2章  用户管理 35
2.1  自定义模板和静态文件位置 35
2.1.1  自定义模板位置 36
2.1.2  自定义静态文件位置 36
2.1.3  通用静态文件和基础模板 37
2.1.4  重置管理后台模板 40
2.1.5  知识点 42
2.2  用户登录 43
2.2.1  创建应用 44
2.2.2  理解表单类 45
2.2.3  登录的视图函数 47
2.2.4  登录的前端界面 49
2.2.5  知识点 53
2.3  用内置方法实现登录和退出 54
2.3.1  内置的登录方法 55
2.3.2  判断用户是否登录 58
2.3.3  内置的退出方法 59
2.3.4  知识点 60
2.4  用户注册 62
2.4.1  简单注册 62
2.4.2  增加注册内容 65
2.4.3  管理新增的注册内容 70
2.4.4  知识点 71
2.5  关于密码的操作 72
2.5.1  修改密码 73
2.5.2  重置密码 78
2.5.3  利用第三方应用重置密码 84
2.5.4  知识点 87
2.6  维护个人信息 88
2.6.1  个人信息的数据模型类和表单类 88
2.6.2  展示个人信息 90
2.6.3  编辑个人信息 93
2.6.4  上传和裁剪头像图片 97
2.6.5  优化头像上传功能 105
2.6.6  对个人信息进行管理 107
2.6.7  知识点 108
第3章  文章管理和展示 110
3.1  管理文章栏目 110
3.1.1  设置栏目 110
3.1.2  编辑栏目 118
3.1.3  删除栏目 120
3.1.4  知识点 122
3.2  发布和显示文章 125
3.2.1  简单的文章发布 126
3.2.2  使用Markdown 131
3.2.3  文章标题列表 133
3.2.4  知识点 140
3.3  删除和修改文章 141
3.3.1  删除 142
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  查看作者全部文章 161
4.2.1  查看某作者的文章列表 162
4.2.2  知识点 165
4.3  为文章点赞 167
4.3.1  修改数据模型类 167
4.3.2  编写视图函数 168
4.3.3  修改模板文件 169
4.3.4  知识点 172
4.4  文章的阅读次数 173
4.4.1  安装Redis 174
4.4.2  在Python中使用Redis 175
4.4.3  记录阅读次数 176
4.4.4  显示最“热”文章 177
4.4.5  知识点 179
4.5  文章的评论功能 180
4.5.1  数据模型类和表单类 180
4.5.2  实现评论功能 181
4.5.3  知识点 184
4.6  多样化显示 185
4.6.1  统计文章总数 186
4.6.2  最新发布的文章 188
4.6.3  评论最多的文章 189
4.6.4  自定义模板选择器 192
4.6.5  知识点 193
4.7  管理和应用文章标签 195
4.7.1  管理文章标签 195
4.7.2  发布文章时选择标签 200
4.7.3  在文章中显示文章标签 202
4.7.4  推荐相似文章 202
4.7.5  知识点 204
第5章  收集和展示图片 206
5.1  收集网络图片 206
5.1.1  创建图片相关类 207
5.1.2  收集和管理图片 210
5.1.3  完善图片管理功能 214
5.1.4  知识点 218
5.2  展示图片 219
5.2.1  瀑布流方式展示图片 219
5.2.2  查看图片的详细信息 223
5.2.3  知识点 224
第6章  中场休整 226
第7章  创建在线学习应用 227
7.1  基于类的视图 227
7.1.1  最简类视图 228
7.1.2  读取数据 230
7.1.3  初步了解Mixin 232
7.1.4  知识点 233
7.2  管理课程标题 234
7.2.1  判断用户是否登录 235
7.2.2  创建课程 237
7.2.3  删除课程 239
7.2.4  知识点 243
7.3  发布和学习课程内容 245
7.3.1  课程内容的数据模型 246
7.3.2  课程内容的表单类 249
7.3.3  课程内容的视图 250
7.3.4  查看课程内容 252
7.3.5  注册学习课程 257
7.3.6  知识点 260
第8章  结束和开始 262
前言
是的,你应该开始阅读本书了。
如果读者已经通过《跟老齐学Python:轻松入门》这本书完成了Python入门,那么接下来就要用Python做一些实际项目了,做什么呢?可以做的东西真不少,比如数据统计、爬虫、机器学习、人工智能等,当然还有不可或缺的Web开发。
本书就是要带领读者:
? 学习Django;
? 完成一个项目;
? 边做项目边学知识。
因此,本书按照完成一个项目从易到难的顺序,以项目为主线逐渐展开对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)获得本书的所有代码,这些代码是最终结果,希望不会给读者的学习带来不便。
感谢为本书的面市提供帮助的编辑们,感谢我的妻子在本书编写过程中提供的支持。
齐 伟
2017年8月
轻松注册成为博文视点社区用户(www.broadview.com.cn),扫码直达本书页面。
? 提交勘误:您对书中内容的修改意见可在 提交勘误 处提交,若被采纳,将获赠博文视点社区积分(在您购买电子书时,积分可用来抵扣相应金额)。
? 交流互动:在页面下方 读者评论 处留下您的疑问或观点,与我们和其他读者一同学习交流。
页面入口:http://www.broadview.com.cn/32572
《跟老齐学Python:Django实战》这本书给我的最大感受就是“实用”和“系统”。它不仅仅是简单地罗列Django的API,而是真正地从项目开发的实际需求出发,将各个模块有机地结合起来进行讲解。我最欣赏的是书中对Django模板引擎的深度解析,不仅讲解了如何使用,还深入到了其工作原理,这让我能够更好地进行前端开发,并与后端逻辑进行有效的配合。另外,书中关于Django认证和授权的讲解也非常细致,从用户注册、登录、登出,到权限管理、用户组,都做了详细的阐述,这对于保障Web应用的安全性至关重要。作者还在书中加入了大量关于“最佳实践”的建议,例如代码的组织结构、命名规范、错误处理等方面,这些看似琐碎的细节,却能极大地提升项目的可维护性和团队协作效率。总的来说,这本书的知识体系非常完整,从基础概念到高级应用,再到部署和维护,都涵盖在内,能够帮助读者建立起一个扎实的Django开发知识体系。
评分这几天熬夜通读了《跟老齐学Python:Django实战》,虽然名字听起来很接地气,但实际内容远超我的预期。这本书在介绍Django框架的各个方面都做得非常深入,几乎涵盖了Web开发的方方面面。从最基础的视图、模板、URL路由,到进阶的模型设计、ORM操作,再到更高级的认证、授权、缓存、中间件等等,作者都用清晰的语言和丰富的代码示例进行了讲解。我尤其喜欢书中对ORM的讲解,不仅讲了基本的CRUD,还深入剖析了字段类型、关系模型、数据库迁移等关键概念,这让我对如何高效地与数据库打交道有了全新的认识。而且,书中还涉及了RESTful API的设计与实现,这对于构建前后端分离的应用至关重要,也解决了我在实际项目中遇到的不少痛点。此外,这本书并没有止步于框架本身,还扩展到了部署、性能优化、安全性等方面,这些内容往往是许多初学者容易忽视但又至关重要的部分。作者在讲解这些内容时,并没有照本宣科,而是结合了实际案例,让读者能够理解其重要性和具体实现方法。整体而言,这是一本非常扎实,能够带领读者从入门到精通Django的宝藏书籍,绝对物超所值。
评分我最近在学习Django,本来抱着试一试的心态入手了《跟老齐学Python:Django实战》,没想到收获巨大。书中的代码示例非常精炼,而且紧密贴合实际开发需求,很多地方都让我有“原来是这样”的顿悟感。特别是关于Django ORM的讲解,作者通过几个精心设计的例子,把复杂的数据库操作讲得明明白白,让我对如何构建高效、可维护的数据模型有了深刻的理解。还有对Django表单处理的讲解,各种字段类型、验证器、自定义表单,都梳理得非常清晰,以后做表单开发会轻松很多。更让我惊喜的是,书中还涉及到了“杂项”的知识点,比如文件上传、邮件发送、定时任务等,这些都是实际项目开发中绕不开的环节,作者把它们都整合进来,而且讲解得相当到位。阅读过程中,我感觉作者就像一位经验丰富的老师傅,一步步带着我趟过Django开发的各种“坑”,让我少走了不少弯路。书中的逻辑也很流畅,章节之间衔接自然,不会让人感到突兀。对于想要系统学习Django,并且希望能够解决实际开发问题的开发者来说,这本书无疑是一个极佳的选择。
评分一直想系统学习Django,但市面上相关的书籍质量参差不齐,直到我遇到了《跟老齐学Python:Django实战》。这本书的语言风格非常幽默风趣,读起来一点都不枯燥,仿佛在和一位经验丰富的Pythoner交流。作者在讲解Django的视图、模板、URL路由等基础概念时,并没有止步于表面,而是深入剖析了其背后的原理,这让我能够更深入地理解Django的设计哲学。我特别喜欢书中关于“动态内容生成”的部分,作者通过各种生动的案例,展示了如何利用Django的模板引擎来实现复杂的数据展示和交互,让我对动态Web页面的构建有了更深刻的认识。此外,书中还涉及到了Django的“项目管理”和“部署”等内容,这些都是实战中不可或缺的部分,作者的讲解既系统又实用,能够帮助读者顺利地将项目部署到生产环境。总的来说,这是一本集知识性、趣味性和实用性于一体的Django入门书籍,强烈推荐给所有想学习Django的开发者。
评分我之前对Django一直停留在“听说过”的阶段,直到翻阅了《跟老齐学Python:Django实战》这本书,才算真正入门。这本书的优点在于,它能够用一种非常直观、易懂的方式来讲解Django的各个组件。比如,在讲解Model时,作者通过层层递进的例子,将数据库表的创建、字段的定义、模型之间的关系等都讲得清清楚楚,让我这种之前对数据库不太熟悉的读者也能快速上手。而对于View的讲解,书中也提供了多种实现方式,并分析了各自的优缺点,这让我能够根据实际情况选择最合适的方法。此外,这本书还花了大量的篇幅来介绍Django的表单处理,这部分内容对于构建交互式Web应用来说至关重要,作者的讲解非常到位,无论是简单的文本输入框,还是复杂的模型表单,都能轻松应对。让我印象深刻的是,书中还专门辟了一章讲解了如何处理文件上传,以及如何在Django项目中集成第三方库,这些都是非常贴近实际开发需求的。
评分学习Python frame的一本实用的书籍。
评分好好了我的心情不好心情舒畅和洗心革面都不是问题!
评分讲的还是比较全面的了,就是自己稍微感觉没什么整书的顺序逻辑一样
评分还没看完,慢慢来,算是比较好的吧,哈哈哈哈哈哈哈哈哈哈哈哈
评分购买了两本书,今日一块送到,包装很好。纸质也不错。买书基本都在京东买了,很方便。
评分挺有意思 一步一步 适合初学初用本框架群体
评分还没拿到,但是很期待蛤
评分这京东送货送成这样了?
评分书还没开始看。工作中会用到技术。有帮助。
本站所有内容均为互联网搜索引擎提供的公开搜索信息,本站不存储任何数据与内容,任何内容与数据均与本站无关,如有需要请联系相关搜索引擎包括但不限于百度,google,bing,sogou 等
© 2025 book.coffeedeals.club All Rights Reserved. 静流书站 版权所有