新書推薦:
《
时刻人文·信用的承诺与风险:一个被遗忘的犹太金融传说与欧洲商业社会的形成
》
售價:HK$
103.0
《
同与不同:50个中国孤独症孩子的故事
》
售價:HK$
66.1
《
开宝九年
》
售價:HK$
54.9
《
论僭政:色诺芬《希耶罗》义疏(含施特劳斯与科耶夫通信集)
》
售價:HK$
109.8
《
传播与流动:移民、手机与集装箱(新闻与传播学译丛·学术前沿系列)
》
售價:HK$
109.8
《
《证券分析》前传:格雷厄姆投资思想与证券分析方法
》
售價:HK$
134.3
《
当我点击时,算法在想什么?
》
售價:HK$
78.2
《
服务的细节136:提高成交率的50个销售技巧
》
售價:HK$
65.0
|
編輯推薦: |
腾讯云 社区阿里云栖社区专栏作者Django全栈开发经验分享
详解Django Web开发中11个常用典型模块的开发过程
帮助你成为一名Django全栈开发的大神级程序员
项目需求分析产品设计业务模式功能实现代码优化设计理念开发原理
通过图文分析和代码实现相结合的方式讲解每个项目案例的开发
从开发者的角度解决读者从理论到实践中会遇到的大部分问题
先让读者知道怎么做,然后再对原理做点拨,知其然知其所以然
本书精华内容:
Web典型架构模式讲解
从新浪微博聊起多端应用
用Django REST framework实现豆瓣API应用
区块链时代Token登录模块开发
实现优酷和爱奇艺会员的VIP模式
用Django实现百度开发者认证业务模型
Web运营中所需的几个典型功能
用Django设计大型电商的类别表
违禁词自审查功能模块开发
用Django实现支付功能模块
Web运维中所需的几个典型功能腾讯云 社区阿里云栖社区专栏作者Django全栈开发经验分享
详解Django Web开发中11个常用典型模块的开发过程
帮助你成为一名Django全栈开发的大
|
內容簡介: |
为了帮助大家成为一名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年受邀成为腾讯云 社区技术类自媒体专栏作者,并于同年受邀成为阿里云栖社区技术类自媒体专栏作者。
|
目錄:
|
第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 CookieSession在前后端分离项目中的局限性 81 5.1.1 什么是Cookie机制 81 5.1.2 Django中使用Cookie 83 5.1.3 Cookie机制的危险与防护 88 5.1.4 什么是Session机制 90 5.1.5 Django中使用Session 92 5.1.6 小结:CookieSession的局限性 95 5.2 为什么是Token 95 5.2.1 什么是Token 95 5.2.2 基于区块链技术发展中Token的技术展望 96 5.3 Django实现Token登录的业务模式 97 5.3.1 Django REST framework的Token生成 97 5.3.2 Django REST framework的Token认证 99 5.3.3 Django REST framework的Token的局限性 102 5.3.4 Json Web Token的原理 103 5.3.5 JWT在Django中的应用 104 第6章 实现优酷和爱奇艺会员的VIP模式 109 6.1 为内容付费是趋势 109 6.1.1 网速提升对产品设计的影响 109 6.1.2 内容付费模式介绍 110 6.2 Django权限管理的实现 110 6.2.1 什么是权限 111 6.2.2 新建项目来完成权限管理雏形演示 111 6.2.3 什么是RBAC 118 6.2.4 Django项目中使用RBAC 118 6.2.5 Django基于中间件的权限验证 126 6.3 Django REST framework实现权限管理 130 6.3.1 准备演示权限管理的初始代码 131 6.3.2 为demo6_drf添加身份验证功能 137 6.3.3 为demo6_drf添加权限管理功能 140 6.3.4 验证demo6_drf权限管理的功能 142 第7章 违禁词自审查功能 148 7.1 违禁词自审查功能的重要性 148 7.1.1 违禁词的影响 148 7.1.2 可以避免法律风险 148 7.2 Django REST framework实现模糊搜索功能 149 7.2.1 演示实现模糊搜索的后端逻辑 149 7.2.2 演示实现模糊搜索的前端逻辑 155 7.2.3 开发模糊搜索功能 158 7.3 Django REST framework开发违禁词自审查功能 162 7.3.1 开发违禁词自审查功能后端逻辑 162 7.3.2 创建新用户 165 7.3.3 开发违禁词自审查功能前端逻辑 169 7.3.4 违禁词自审查功能开发 172 第8章 分析吾爱破解论坛反爬虫机制 182 8.1 网络爬虫与反爬虫 182 8.1.1 什么是网络爬虫 182 8.1.2 Robots协议 184 8.1.3 常见的反爬虫手段 184 8.2 吾爱破解论坛怎样反爬虫 190 8.2.1 注册阶段的反爬虫 190 8.2.2 登录阶段的反爬虫 192 8.2.3 搜索阶段的反爬虫 197 8.2.4 怎样彻底阻止网络爬虫 198 8.3 Django REST framework实现频率限制 201 8.3.1 建立演示频率限制功能的项目 201 8.3.2 网页客户端向服务端提交了多少信息 203 8.3.3 频率限制功能开发 205 8.3.4 频率限制该怎样确定 207 第9章 关于跨域问题的解决办法 209 9.1 什么是跨域 209 9.1.1 浏览器的同源策略 209 9.1.2 什么情况下会发生跨域问题 216 9.2 跨域问题的几种解决思路 216 9.2.1 通过jsonp跨域 216 9.2.2 document.domain iframe跨域 217 9.2.3 CORS(跨域资源共享) 217 9.2.4 Nginx代理跨域 218 9.2.5 小结 218 9.3 前端项目解决跨域问题 218 9.3.1 webpack与webpack-simple的区别 218 9.3.2 在前端项目中解决跨域问题 221 9.4 在后端项目中解决跨域问题 224 第10章 用Django实现支付功能 228 10.1 分析目前主流的支付模式 228 10.1.1 支付宝的业务模式 228 10.1.2 生成公钥和私钥 232 10.2 支付宝文档分析 239 10.2.1 请求地址 240 10.2.2 必填的公共参数 240 10.2.3 必填的请求参数 241 10.2.4 签名加密 242 10.3 Django实现支付宝的对接 243 10.3.1 演示对接支付宝的实例项目 243 10.3.2 开发注册和登录功能 246 10.3.3 Django开发支付宝的支付功能 250 第11章 Redis缓存解决亿万级别的订单涌进 257 11.1 Django实现缓存机制 257 11.1.1 缓存的介绍 257 11.1.2 Django提供的6种缓存方式 257 11.1.3 演示Django缓存机制项目 258 11.1.4 Django开发缓存功能 261 11.1.5 各种缓存配置 262 11.2 Django REST framework实现缓存机制 264 11.2.1 新建演示Django REST framework实现缓存机制的项目 265 11.2.2 Django REST framework开发缓存机制 266 11.2.3 缓存配置使用Redis 269 第12章 前后端分离项目上线部署到云服务器 271 12.1 准备一个前后端分离项目 271 12.1.1 准备一个最基础的前后端分离项目 271 12.1.2 对前后端分离项目进行改造 274 12.2 云服务器的准备 284 12.2.1 购买华为云服务器 284 12.2.2 服务器端安装MySQL5.7 285 12.2.3 压缩项目 288 12.2.4 使用FileZilla将demo12a.zip和demo12b.zip传到服务器端 289 12.3 远程同步数据库 291 12.4 正式开始部署 295 12.4.1 部署前端项目demo12b 295 12.4.2 部署后端项目demo12a 298
|
內容試閱:
|
Django是基于Python编程语言的三大网站框架之一,是一门需要以实践经验来巩固和提高的技术。对于有一定理论和开发基础的Django学习者来说,想要摆脱重章复沓的学习,从而在Django技术领域中更上一层楼,学习实战项目案例绝对大有裨益。与着重于理论知识的教程不同,本书着重于对实际开发中的解决方案进行分析,从而让Django爱好者在学以致用的过程中走得更加自信,对技术的掌握更加牢靠。
在实际应用中,往往是道理都明白,可真要落实到代码开发上时,就会出现各种沟沟坎坎的情况。例如,一个看似很小的问题挡在了开发者的面前,他们也知道这个问题从理论上说是出在哪个环节,但是具体该怎样解决却无法得知。这种情况下,开发者只能选择去网上搜索相关的解决方案,或者去技术社群中提问,但往往收到的答案大多是以理论为主,并不能解决他们所面临的问题。这不仅会耽误开发者的时间,也会极大地影响他们的心态。
本书抛开空泛的理论,对每一个案例的每一个小功能的实现,都通过详细的图文分析和代码实现娓娓道来。读者跟随着本书进行学习,将会亲身体验一次充实的知其然并知其所以然的Django进阶实战之旅。
本书特色
内容翔实,注重实战,通过十多个项目案例带领读者学习 本书内容涵盖了收费API业务模型的开发、网站防爬虫策略、网站违禁词自查系统的搭建、会员系统的搭建、前后端分离项目的上线部署等大大小小十余个项目模块分析,可以基本解决Django学习者从理论到实践过渡过程中经常会遇到的大部分问题。本书内容非常实用,案例的可操作性很强,是一本可以一边学习一边使用的书,书中的不少案例在实际工作中会经常遇到,读者稍加修改就可以应用到自己的项目中。
行文诙谐幽默,案例趣味性强,特别适合学习者理解 本书中的每一个案例都是从一个开发者的视角出发对项目进行综合考虑。文中不乏举出了一些诙谐有趣的案例,来形象、生动地阐述一个项目的功能为什么要这样实现,这样实现有什么好处,不这样实现将有可能造成怎样的后果。比如,在分析登录机制的一章中就列举了一个因为登录机制的错误选择而导致验证信息被窃取的例子。通过形象生动的例子,大大降低了读者对新知识的理解难度,让读者可以在流畅的学习过程中更加轻松地获取更多的干货。
细节清晰,逻辑连贯,保证学习者能够毫不费力地掌握 本书重点着墨于怎样做,先力求让读者能够跟着每段代码和每个设置,在自己的计算机上一步一步地将书中所介绍的项目完成一遍。这样可以避免理论方面倒背如流,而真正需要动手敲代码实现时却无从下手的尴尬。这也和本书的讲解理念相吻合,即先让读者知道该怎么做,然后在这个基础上进行原理点拨,这样可以大大提升学习效果。
本书内容
第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开发项目经理;
? 高校相关专业的学生;
? 培训机构的相关学员。
本书作者
本书由寇雪松编写。感谢在本书编写和出版过程中给予笔者大量帮助的各位编辑!
因作者水平所限,加之写作时间有限,书中可能还存在一些疏漏和不足之处,敬请各位读者批评指正。若您在阅读本书时有疑问,请发电子邮件到hzbook2017@163.com以获取帮助。
|
|