书籍作者:寇雪松 | ISBN:9787111632795 |
书籍语言:简体中文 | 连载状态:全集 |
电子书格式:pdf,txt,epub,mobi,azw3 | 下载次数:1854 |
创建日期:2021-02-14 | 发布日期:2021-02-14 |
运行环境:PC/Windows/Linux/Mac/IOS/iPhone/iPad/Kindle/Android/安卓/平板 |
为了帮助大家成为一名Django全栈开发领域的“大神级”程序员,本书讲解了11个实战项目案例的典型开发模块,便于让大家从项目需求分析、产品设计、业务模式、功能实现、代码优化,以及设计理念和开发原理等角度进行系统学习。本书实用性很强,通过抽丝剥茧的讲解,可以帮助读者稳步提升自己的开发水平。读者只要按照书中的讲解进行学习,就可以完成案例代码的编写,实现案例模块的基本功能,并能通过项目案例开发而夯实Django的基础知识,从而对相关理论知识有更加深入的理解。
本书共12章,涵盖的内容包括从新浪微博聊起多端应用;用Django REST framework实现豆瓣API应用;用Django设计大型电商的类别表;用Django实现百度开发者认证业务模型;Token登录模块开发;实现优酷和爱奇艺会员的VIP模式;违禁词自审查功能模块开发;吾爱破解论坛反爬虫机制分析;跨域问题的解决办法;用Django实现支付功能模块;通过Redis缓存功能解决亿万级别的订单涌进;前后端分离项目上线部署到云服务器上。
本书适合Django自学者和有一定基础的Django开发者阅读,还适合其他领域有Python基础而想转型到Django开发的人员阅读。另外,对于想要成为全栈开发工程师的前后端程序员及Python技术爱好者,本书更是一本不可多得的实战宝典。
寇雪松 落忆网络科技有限公司联合创始人/CTO。多年来一直致力于Python全栈开发和爬虫开发等工作,对安卓逆向破解技术有研究。独立与参与开发过多个Django复杂网络系统,是Django REST framework前后端分离技术的开拓者之一。在相关技术论坛中发表了数十篇精品热门博客文章。2018年受邀成为腾讯“云+社区”技术类自媒体专栏作者,并于同年受邀成为阿里“云栖社区”技术类自媒体专栏作者。
腾讯云+社区/阿里云栖社区专栏作者Django全栈开发经验分享
详解Django Web开发中11个常用典型模块的开发过程
帮助你成为一名Django全栈开发的大神级程序员
项目需求分析à产品设计à业务模式à功能实现à代码优化à设计理念à开发原理
通过图文分析和代码实现相结合的方式讲解每个项目案例的开发
从开发者的角度解决读者从理论到实践中会遇到的大部分问题
先让读者知道怎么做,然后再对原理做点拨,知其然知其所以然
本书精华内容:
Web典型架构模式讲解
从新浪微博聊起多端应用
用Django REST framework实现豆瓣API应用
区块链时代Token登录模块开发
实现优酷和爱奇艺会员的VIP模式
用Django实现百度开发者认证业务模型
Web运营中所需的几个典型功能
用Django设计大型电商的类别表
违禁词自审查功能模块开发
用Django实现支付功能模块
Web运维中所需的几个典型功能
吾爱破解论坛反爬虫机制分析
跨域问题的解决办法
通过Redis缓存功能解决亿万级别的订单涌进
前后端分离项目上线部署到云服务器上
Django是基于Python编程语言的三大网站框架之一,是一门需要以实践经验来巩固和提高的技术。对于有一定理论和开发基础的Django学习者来说,想要摆脱重章复沓的学习,从而在Django技术领域中更上一层楼,学习实战项目案例绝对大有裨益。与着重于理论知识的教程不同,本书着重于对实际开发中的解决方案进行分析,从而让Django爱好者在学以致用的过程中走得更加自信,对技术的掌握更加牢靠。
在实际应用中,往往是道理都明白,可真要落实到代码开发上时,就会出现各种沟沟坎坎的情况。例如,一个看似很小的问题挡在了开发者的面前,他们也知道这个问题从理论上说是出在哪个环节,但是具体该怎样解决却无法得知。这种情况下,开发者只能选择去网上搜索相关的解决方案,或者去技术社群中提问,但往往收到的答案大多是以理论为主,并不能解决他们所面临的问题。这不仅会耽误开发者的时间,也会极大地影响他们的心态。
本书抛开空泛的理论,对每一个案例的每一个小功能的实现,都通过详细的图文分析和代码实现娓娓道来。读者跟随着本书进行学习,将会亲身体验一次充实的“知其然并知其所以然”的Django进阶实战之旅。
本书特色
1. 内容翔实,注重实战,通过十多个项目案例带领读者学习
本书内容涵盖了收费API业务模型的开发、网站防爬虫策略、网站违禁词自查系统的搭建、会员系统的搭建、前后端分离项目的上线部署等大大小小十余个项目模块分析,可以基本解决Django学习者从理论到实践过渡过程中经常会遇到的大部分问题。本书内容非常实用,案例的可操作性很强,是一本可以一边学习一边使用的书,书中的不少案例在实际工作中会经常遇到,读者稍加修改就可以应用到自己的项目中。
2. 行文诙谐幽默,案例趣味性强,特别适合学习者理解
本书中的每一个案例都是从一个开发者的视角出发对项目进行综合考虑。文中不乏举出了一些诙谐有趣的案例,来形象、生动地阐述一个项目的功能为什么要这样实现,这样实现有什么好处,不这样实现将有可能造成怎样的后果。比如,在分析登录机制的一章中就列举了一个因为登录机制的错误选择而导致验证信息被窃取的例子。通过形象生动的例子,大大降低了读者对新知识的理解难度,让读者可以在流畅的学习过程中更加轻松地获取更多的“干货”。
3. 细节清晰,逻辑连贯,保证学习者能够毫不费力地掌握
本书重点着墨于“怎样做”,先力求让读者能够跟着每段代码和每个设置,在自己的计算机上一步一步地将书中所介绍的项目完成一遍。这样可以避免理论方面倒背如流,而真正需要动手敲代码实现时却无从下手的尴尬。这也和本书的讲解理念相吻合,即先让读者知道该怎么做,然后在这个基础上进行原理点拨,这样可以大大提升学习效果。
本书内容
第1章 从新浪微博聊起多端应用
假如时至今日,你只会用Django开发PC端的Web项目,还以Python全栈工程师自居的话,相信去哪家公司面试都会被当成入职以后需要再培训很久才能帮上忙的“小白”。一旦在老板心中被贴上了“小白”的标签,再怎么乐观也需要至少半年的时间才能撕掉这个标签吧。这一章我们来聊一聊多端开发。
第2章 用Django REST framework实现豆瓣API应用
几年前,用户想要获取豆瓣数据的API,豆瓣一般都是免费提供的。但是随着近些年数据资产的价值被追捧得越来越高,豆瓣向外提供数据查询的API开始收费,包括电影、图书、音乐等所有类目。本章我们就来开发一套仿豆瓣收费的API项目。
第3章 用Django设计大型电商的类别表
本章我们将和读者一起来构建一个能满足大型电商网站业务需求的类别表。如果问所有使用Django开发的全栈工程师们为什么爱Django,相信会有相当一部分人把Django的ORM摆在所有理由的首位。当某个很“大咖”的编程语言连输出hello world都要新建一个类的时候,利用Django框架都已经可以通过新建一个类直接构建一个高质量的数据表了。本章我们就通过一个电商项目案例来介绍这个话题。
第4章 用Django实现百度开发者认证业务模型
虽然我们经常需要对用户身份进行区分,但又不同于普通用户和付费用户这样的区分方法(当然了,这种区分也会在后面的章节中介绍),而是将用户分为生产者和消费者。本章我们将通过一个类似于百度开发者认证业务的项目模型,让大家能够全面、系统地掌握一个区别于普通网站平台的关键功能的完整搭建流程。
第5章 区块链时代与Token登录
在本章中,我们好好聊一下Django的登录。当然,能够读到本章的读者朋友,想必对于Django框架的了解程度最低也是“登堂入室”了,自然不可能连Django框架自带的登录这么基础的功能都还没掌握(就算还没掌握也不要紧,因为那并不重要)。我们之所以特意以一章的篇幅聊登录,肯定是要聊一些更有趣、又有用的知识,比如Token。
第6章 实现优酷和爱奇艺会员的VIP模式
在本章中,我们来详细地分析一下Django的权限管理,从而可以将读者的权限管理这个知识短板彻底补齐。我们首先会从技术和产品的角度分析权限管理在当前互联网领域的重要程度,然后会新建一个Django项目实例给大家细致入微地讲解权限管理,最后使用Django REST framework的权限管理组件介绍前后端分离项目中如何使用权限管理。
第7章 违禁词自审查功能
常见的违禁词自审查功能分为两种:一种是用户提交想要发表的内容,在经过网站的违禁词自审查检验时,发现内容中包含了一些违禁词,提示用户发表失败,并提示用户内容中有哪些违禁词,要求用户修改内容或者放弃发表,这种违禁词自审查功能大多用于长篇博客、影评、网络小说等篇幅较大的内容审查中;另一种则比较适合评论、发帖等内容篇幅比较短小的应用场景,这种违禁词自审查功能会将检测到的违禁词自动替换为*号。在本章中,我们将会开发一个实际项目,向大家介绍这两种违禁词的自审查功能。
第8章 分析吾爱破解论坛反爬虫机制
近几年,Python语言的人气越来越火,从其他编程语言转Python语言的群体中,因大数据、人工智能和云计算而转学Python的人占了极大一部分;还有一部分人是为了开发爬虫、学习区块链技术、全栈开发和自动化运维等转学Python,其中因开发爬虫而转学Python的群体比例较高。在本章中,我们将会新建一个Django项目,实现非常经典的反爬虫机制——频率限制。
第9章 关于跨域问题的解决办法
一说到跨域,相信只要开发过前后端分离项目的程序员都不会陌生。但是有很大一部分程序员对于跨域问题是知其然而不知其所以然,也就是说会用,但不知道为什么这样用。在本章中,我们来详细地聊一聊跨域这个话题。
第10章 用Django实现支付功能
通过学习前面章节的内容可以看出,开发并运营好一个网站是一笔不小的开销。就算不是以盈利为目的的网站开发者,也有必要学习支付功能的相关知识。在本章中,我们将对国内主流支付平台的业务模式进行分析,并以实际的项目案例演示如何实现支付功能。
第11章 Redis缓存——解决亿万级别的订单涌进
如何通过在开发阶段的设置,让网站服务器在面临巨大压力时能够举重若轻地处理这些数据请求,同时将必要的服务器开销降到最低,这已经成为开发者无法避开的一个问题。在本章中,我们就来解决这个问题,分析目前市场上比较通用的解决方案。
第12章 前后端分离项目上线部署到云服务器
一个项目开发完成后,接下来要做的事就是将项目上线部署到云服务器上。本章我们就来新建一个前后端分离的项目案例,然后将其分别部署到Ubuntu系统上,从而带领大家学习Django项目上线部署到云服务器的相关知识点。
本书配套资源获取方式
本书涉及的源代码文件等配套资料需要读者自行下载。请在华章公司的网站www.hzbook.com上搜索到本书,然后单击“资料下载”按钮即可在本书页面上找到“配书资源”下载链接,单击链接即可下载。
本书读者对象
? Django自学者;
? 具有一定基础的Django开发者;
? 其他领域具有Python基础想转型Django开发的人员;
? 想要成为全栈开发工程师的前后端程序员;
? Python语言爱好者;
? Web开发项目经理;
? 高校相关专业的学生;
? 培训机构的相关学员。
本书作者
本书由寇雪松编写。感谢在本书编写和出版过程中给予笔者大量帮助的各位编辑!
因作者水平所限,加之写作时间有限,书中可能还存在一些疏漏和不足之处,敬请各位读者批评指正。若您在阅读本书时有疑问,请发电子邮件到[email protected]以获取帮助。
……
(限于篇幅要求,只给出了前言的部分内容,完整的前言请阅读图书)
(限于篇幅,部分章节只给出了二级目录,完整目录请查看图书)
第1章 从新浪微博聊起多端应用 1
1.1 AOP面对切面编程思想 1
1.2 Django的前后端分离 2
1.2.1 什么是API 2
1.2.2 RESTful规范——如何写API 3
1.2.3 Django REST framework简介 4
第2章 用Django REST framework实现豆瓣API应用 6
2.1 豆瓣API功能介绍 6
2.2 Django REST framework序列化 6
2.2.1 Postman的使用 7
2.2.2 用serializers.Serializer方式序列化 7
2.2.3 用serializers.ModelSerializer方式序列化 10
2.3 Django REST framework视图三层封装 13
2.3.1 用mixins.ListModelMixin+GenericAPIView的方式实现视图封装 13
2.3.2 用generics.ListAPIView的方式实现视图封装 14
2.3.3 用viewsets+Router的方式实现视图封装 15
2.3.4 小结 17
第3章 用Django设计大型电商的类别表 19
3.1 电商类别表的项目功能需求 19
3.1.1 类别表需求分析 19
3.1.2 使用Vue.js在前端开发一个电商导航栏项目demo1 20
3.2 为什么不用传统建表方式建类别表 32
3.2.1 使用PyCharm新建后端演示项目 32
3.2.2 完善demo2的后台逻辑代码 37
3.2.3 前后端项目联合调试 39
3.3 使用Django的model实现类别表建立 44
3.3.1 四表合一 44
3.3.2 数据导入 45
3.3.3 前后端项目联合调试 47
第4章 用Django实现百度开发者认证业务模型 50
4.1 Web 2.0时代,UGC的时代 50
4.1.1 什么是UGC 50
4.1.2 UGC、PGC和OGC三种模式的关系演变 51
4.2 内容生产者认证业务模型是基础 52
4.2.1 内容生产者认证的原理 52
4.2.2 业界主流的两种认证方式 53
4.3 初始化一个项目为功能演示做准备 54
4.3.1 演示认证业务项目的前端逻辑 54
4.3.2 演示认证业务项目的后端逻辑 57
4.4 Django实现通过手机号注册功能 60
4.4.1 业务流程原理及需求分析 60
4.4.2 在demo3中开发注册用户的静态页面 61
4.4.3 编写前端验证用户信息的逻辑代码 63
4.4.4 短信服务商的对接 65
4.4.5 在后端demo4中编写验证码相关逻辑 68
4.4.6 编写发送验证码的前端逻辑代码 72
4.4.7 完成确认注册功能 73
4.5 Django实现邮箱激活功能 75
4.5.1 什么是POP3、SMTP和IMAP 75
4.5.2 开启新浪邮箱的SMTP服务 76
4.5.3 编写邮箱激活功能的前端逻辑代码 76
4.5.4 在前端demo3中增加认证激活代码 79
4.5.5 小结及进一步的设计思路 80
第5章 区块链时代与Token登录 81
5.1 Cookie/Session在前后端分离项目中的局限性 81
5.2 为什么是Token 95
5.3 Django实现Token登录的业务模式 97
第6章 实现优酷和爱奇艺会员的VIP模式 109
6.1 为内容付费是趋势 109
6.2 Django权限管理的实现 110
6.3 Django REST framework实现权限管理 130
第7章 违禁词自审查功能 148
7.1 违禁词自审查功能的重要性 148
7.1.1 违禁词的影响 148
7.2 Django REST framework实现模糊搜索功能 149
7.3 Django REST framework开发违禁词自审查功能 162
第8章 分析吾爱破解论坛反爬虫机制 182
8.1 网络爬虫与反爬虫 182
8.2 吾爱破解论坛怎样反爬虫 190
8.3 Django REST framework实现频率限制 201
第9章 关于跨域问题的解决办法 209
9.1 什么是跨域 209
9.2 跨域问题的几种解决思路 216
9.3 前端项目解决跨域问题 218
9.4 在后端项目中解决跨域问题 224
第10章 用Django实现支付功能 228
10.1 分析目前主流的支付模式 228
10.2 支付宝文档分析 239
10.3 Django实现支付宝的对接 243
第11章 Redis缓存——解决亿万级别的订单涌进 257
11.1 Django实现缓存机制 257
11.2 Django REST framework实现缓存机制 264
第12章 前后端分离项目上线部署到云服务器 271
12.1 准备一个前后端分离项目 271
12.2 云服务器的准备 284
12.3 远程同步数据库 291
12.4 正式开始部署 295
12.4.1 部署前端项目demo12b 295
12.4.2 部署后端项目demo12a 298
……