当前位置:当前位置:主页 > 计算机电子书 > Python > Django pdf电子书
Django企业开发实战:高效Python Web框架指南

Django企业开发实战:高效Python Web框架指南 PDF 完整超清版

  • 更新:2019-10-19
  • 大小:161.7 MB
  • 类别:Django
  • 作者:胡阳
  • 出版:人民邮电出版社
  • 格式:PDF

  • 资源介绍
  • 学习心得
  • 相关内容

Django企业开发实战:高效Python Web框架指南》是由人民邮电出版社出版的一本关于Django方面的书籍,作者是胡阳,主要介绍了关于Django、企业开发、高效Python、Web、框架、指南方面的知识内容,目前在Django类书籍综合评分为:9.8分。

书籍介绍

Django企业开发实战:高效Python Web框架指南 PDF

这书以从零开始开发设计1个博客系统为例,详细介绍Django在平时工作上的运用。 这书共分成四一部分。*一部分详细介绍编号以前的提前准备工作中,包含需求分析报告、Web开发设计基本及其电机选型时Demo的训练。其次一部分刚开始宣布实现需求,详细介绍了自然环境配备、编号标准及其有效的新项目构造区划。根据对Django各一部分(Model、Form、admin、View)的详细介绍和应用,进行了1个基本的博客系统。最后一部分在前边的基本上详细介绍Django第三方平台软件的应用,根据导入这种软件进一步提升人们的系统软件。*后部分都是宣布工作上不可或缺的一部分,包括调节编码、优化软件、稳定性测试及其自动化技术等內容。 这书合适Python Web开发者阅读文章。

胡阳,网名the5fire,前搜狐网研发工程师,新任知乎问答研发工程师,承担一部分业务流程的后端工程师和团队协作。 具备10年程序编写工作经验和写文章赚钱工作经验,喜爱根据编码来搭建某些有使用价值的物品,也喜好纪录和共享自身的工作经验。 2011年从Java转至Python后,便难以自拔,关键了解的Web架构是Django和Tornado。赞美于Python的开发设计高效率,赏析Django完善的作用点对具体新项目开发设计中程序猿知识经济的提高。

目录

  • 第一部分 初入江湖
  • 第1章 需求 2
  • 1.1 需求文档 3
  • 1.2 需求评审 分析 4
  • 1.2.1 博客需求评审 5
  • 1.2.2 评审之后 6
  • 1.3 功能分析 6
  • 1.3.1 需求列表 6
  • 1.3.2 功能点梳理 7
  • 1.3.3 模块划分 8
  • 1.4 模块划分 9
  • 1.4.1 实体及关系 9
  • 1.4.2 模块划分 10
  • 1.5 本章总结 12
  • 第2章 框架基础和技术选型 13
  • 2.1 Python 2.7与Python 3.x 13
  • 2.1.1 历史演进 13
  • 2.1.2 现实场景 14
  • 2.1.3 为未来做准备 15
  • 2.1.4 参考资料 15
  • 2.2 WSGI——Web框架基础 15
  • 2.2.1 简介 15
  • 2.2.2 简单的Web Server 16
  • 2.2.3 多线程版的Web Server 17
  • 2.2.4 简单的WSGI Application 20
  • 2.2.5 理解WSGI 22
  • 2.2.6 WSGI中间件和Werkzeug 23
  • 2.2.7 参考资料 24
  • 2.2.8 扩展阅读 24
  • 2.3 Flask框架 24
  • 2.3.1 入门推荐 25
  • 2.3.2 Flask内置功能 25
  • 2.3.3 匹配需求 26
  • 2.3.4 总结 26
  • 2.4 Tornado框架 26
  • 2.4.1 印象 26
  • 2.4.2 内置功能 27
  • 2.4.3 总结 27
  • 2.5 Django框架 28
  • 2.5.1 新手友好程度 28
  • 2.5.2 内置功能 29
  • 2.5.3 总结 29
  • 2.5.4 参考资料 29
  • 2.6 本章总结 30
  • 第3章 Django小试牛刀 31
  • 3.1 如何阅读Django文档 31
  • 3.1.1 文档结构 31
  • 3.1.2 总结 36
  • 3.2 学员管理系统的后台开发 37
  • 3.2.1 需求 37
  • 3.2.2 初始化环境 37
  • 3.2.3 创建项目 38
  • 3.2.4 创建App 38
  • 3.2.5 编写代码 39
  • 3.2.6 基础配置(中文) 41
  • 3.2.7 总结 41
  • 3.3 学员管理系统的前台开发 41
  • 3.3.1 开发首页 41
  • 3.3.2 输出数据 42
  • 3.3.3 提交数据 44
  • 3.3.4 优化数据,获取逻辑 47
  • 3.3.5 总结 47
  • 3.4 学员管理系统的进阶部分 48
  • 3.4.1 使用class-based view 48
  • 3.4.2 配置middleware 49
  • 3.4.3 编写TestCase提升代码稳定性 53
  • 3.4.4 总结 57
  • 3.5 本章总结 57
  • 第二部分 正式开发
  • 第4章 进入开发 60
  • 4.1 编码规范 60
  • 4.1.1 import this(Python之禅) 61
  • 4.1.2 Python编码规范 62
  • 4.1.3 Django编码风格 66
  • 4.1.4 总结 69
  • 4.1.5 参考资料 69
  • 4.2 虚拟环境 69
  • 4.2.1 Python 3.3之后自带venv模块 69
  • 4.2.2 virtualenv的用法 70
  • 4.2.3 总结 71
  • 4.2.4 参考资料 71
  • 4.3 合理的项目结构 71
  • 4.3.1 原则 71
  • 4.3.2 通用项目结构 71
  • 4.3.3 Django项目结构 72
  • 4.3.4 总结 74
  • 4.3.5 参考资料 74
  • 4.4 版本管理与协作:Git 74
  • 4.4.1 我们的协作方式 74
  • 4.4.2 Git的基本概念 75
  • 4.4.3 案例演示 76
  • 4.4.4 Git进阶 76
  • 4.4.5 总结 80
  • 4.4.6 参考资料 80
  • 4.5 本章总结 80
  • 第5章 奠定项目基石:Model 81
  • 5.1 创建项目及配置 81
  • 5.1.1 拆分settings以适应不同的运行环境 83
  • 5.1.2 配置settings 84
  • 5.1.3 配置Git 85
  • 5.1.4 总结 86
  • 5.1.5 参考资料 86
  • 5.2 编写Model层的代码 86
  • 5.2.1 创建App 87
  • 5.2.2 配置INSTALLED_APPS 92
  • 5.2.3 创建数据库[表] 93
  • 5.2.4 提交代码 95
  • 5.2.5 总结 96
  • 5.2.6 参考资料 96
  • 5.3 Model层:字段介绍 96
  • 5.3.1 ORM的基本概念 97
  • 5.3.2 常用字段类型 98
  • 5.3.3 参数 99
  • 5.3.4 总结 100
  • 5.3.5 参考资料 101
  • 5.4 Model层:QuerySet的使用 101
  • 5.4.1 QuerySet的概念 101
  • 5.4.2 常用的QuerySet接口 102
  • 5.4.3 进阶接口 104
  • 5.4.4 常用的字段查询 105
  • 5.4.5 进阶查询 106
  • 5.4.6 总结 107
  • 5.4.7 参考资料 107
  • 5.5 本章总结 107
  • 第6章 开发管理后台 108
  • 6.1 配置admin页面 108
  • 6.1.1 创建blog的管理后台 109
  • 6.1.2 comment的admin配置 115
  • 6.1.3 config的admin配置 115
  • 6.1.4 详细配置 116
  • 6.1.5 总结 117
  • 6.2 根据需求定制admin 117
  • 6.2.1 定义list页面 117
  • 6.2.2 编辑页面的配置 120
  • 6.2.3 自定义静态资源引入 122
  • 6.2.4 自定义Form 123
  • 6.2.5 在同一页面编辑关联数据 123
  • 6.2.6 定制site 124
  • 6.2.7 admin的权限逻辑以及SSO登录 125
  • 6.2.8 总结 127
  • 6.2.9 参考资料 127
  • 6.3 抽取Admin基类 127
  • 6.3.1 抽象author基类 127
  • 6.3.2 总结 131
  • 6.4 记录操作日志 131
  • 6.4.1 使用LogEntry 131
  • 6.4.2 查询某个对象的变更 133
  • 6.4.3 在admin页面上查看操作日志 133
  • 6.5 本章总结 134
  • 第7章 开发面向用户的界面 135
  • 7.1 搭建基础结构与展示文章数据 135
  • 7.1.1 分析URL和页面数据 135
  • 7.1.2 编写URL代码 137
  • 7.1.3 编写View代码 138
  • 7.1.4 配置模板 139
  • 7.1.5 模板找不到的错误处理 140
  • 7.1.6 编写正式的View代码 141
  • 7.1.7 配置模板数据 142
  • 7.1.8 总结 144
  • 7.1.9 参考资料 144
  • 7.2 配置页面通用数据 144
  • 7.2.1 完善模板信息 144
  • 7.2.2 重构post_list视图 146
  • 7.2.3 分类信息 147
  • 7.2.4 侧边栏配置 150
  • 7.2.5 总结 150
  • 7.3 封装侧边栏逻辑 150
  • 7.3.1 调整模型 151
  • 7.3.2 封装好SideBar 151
  • 7.3.3 总结 153
  • 7.4 整理模板代码 153
  • 7.4.1 抽象基础模板 153
  • 7.4.2 解耦硬编码 155
  • 7.4.3 总结 157
  • 7.5 升级至class-based view 157
  • 7.5.1 函数与类 157
  • 7.5.2 理解class-based view 157
  • 7.5.3 改造代码 162
  • 7.5.4 总结 166
  • 7.5.5 参考资料 166
  • 7.6 Django的View是如何处理请求的 166
  • 7.6.1 class-based view的处理流程 166
  • 7.6.2 总结 167
  • 7.7 本章总结 167
  • 第8章 引入前端样式框架Bootstrap 168
  • 8.1 Bootstrap的基本用法 169
  • 8.1.1 介绍 169
  • 8.1.2 容器和栅格系统 169
  • 8.1.3 简单的页面布局 171
  • 8.1.4 总结 174
  • 8.1.5 参考资料 174
  • 8.2 基于Bootstrap美化页面 174
  • 8.2.1 增加themes目录 175
  • 8.2.2 修改模板 176
  • 8.2.3 总结 180
  • 8.3 配置线上静态资源 180
  • 8.3.1 内联CSS和外联CSS 180
  • 8.3.2 Django中的静态资源 181
  • 8.3.3 在模板中使用静态资源 182
  • 8.3.4 总结 183
  • 8.3.5 参考资料 183
  • 8.4 本章总结 183
  • 第9章 完成整个博客系统 184
  • 9.1 增加搜索和作者过滤 184
  • 9.1.1 增加搜索功能 185
  • 9.1.2 增加作者页面 186
  • 9.1.3 总结 186
  • 9.2 增加友链页面 186
  • 9.3 增加评论模块 188
  • 9.3.1 评论提交的方式 188
  • 9.3.2 评论模块通用化改造 188
  • 9.3.3 实现评论 190
  • 9.3.4 抽象出评论模块组件和Mixin 195
  • 9.3.5 修改最新评论模板 197
  • 9.3.6 总结 197
  • 9.3.7 参考资料 197
  • 9.4 配置Markdown编写文章的支持 197
  • 9.4.1 Markdown第三方库 197
  • 9.4.2 评论内容支持 198
  • 9.4.3 文章正文使用Markdown 198
  • 9.4.4 配置代码高亮 199
  • 9.4.5 总结 201
  • 9.4.6 参考资料 201
  • 9.5 增加访问统计 201
  • 9.5.1 文章访问统计分析 202
  • 9.5.2 实现文章访问统计 203
  • 9.5.3 更加合理的方案 206
  • 9.5.4 总结 206
  • 9.5.5 参考资料 206
  • 9.6 配置RSS和sitemap 206
  • 9.6.1 实现RSS输出 206
  • 9.6.2 实现sitemap 208
  • 9.6.3 配置RSS和sitemap的urls.py 209
  • 9.6.4 总结 210
  • 9.6.5 参考资料 210
  • 9.7 本章总结 210
  • 第三部分 第三方插件的使用
  • 第10章 使用第三方插件增强管理后台 214
  • 10.1 xadmin介绍和使用 215
  • 10.1.1 特性 215
  • 10.1.2 安装最新的xadmin代码 216
  • 10.1.3 admin替换为xadmin 216
  • 10.1.4 fieldset修改为FieldSet 218
  • 10.1.5 静态资源Media配置 219
  • 10.1.6 自定义过滤器 219
  • 10.1.7 数据处理上的差异 221
  • 10.1.8 处理inline 221
  • 10.1.9 site title和site footer的处理 222
  • 10.1.10 去掉Django admin自带的log配置 222
  • 10.1.11 总结 222
  • 10.2 使用django-autocomplete-light优化性能 222
  • 10.2.1 创造1万个分类 223
  • 10.2.2 django-autocomplete-light介绍 224
  • 10.2.3 引入插件 224
  • 10.2.4 总结 226
  • 10.2.5 参考资料 226
  • 10.3 使用django-ckeditor开发富文本编辑器 226
  • 10.3.1 基础配置 227
  • 10.3.2 配置图片 228
  • 10.3.3 上传图片配置 228
  • 10.3.4 自定义存储以及水印 229
  • 10.3.5 Markdown和django-ckeditor共存 231
  • 10.3.6 总结 234
  • 10.3.7 参考资料 234
  • 10.4 本章总结 235
  • 第11章 使用django-rest-framework 236
  • 11.1 接口需求及django-rest-framework介绍 237
  • 11.1.1 快速上手 237
  • 11.1.2 配置API docs 240
  • 11.1.3 总结 242
  • 11.1.4 参考资料 242
  • 11.2 生成我们的RESTful接口 242
  • 11.2.1 区分list和detail 242
  • 11.2.2 实现分页 243
  • 11.2.3 实现Category接口 244
  • 11.2.4 HyperlinkedModelSerializer的使用 246
  • 11.2.5 其他数据接口的实现 248
  • 11.2.6 总结 248
  • 11.2.7 参考资料 248
  • 11.3 本章总结 249
  • 第四部分 上线前的准备及线上问题排查
  • 第12章 调试和优化 252
  • 12.1 常用的调试和调优手段 252
  • 12.1.1 调试手段 252
  • 12.1.2 调优手段 259
  • 12.1.3 总结 262
  • 12.1.4 参考资料 262
  • 12.2 使用django-debug-toolbar优化系统 262
  • 12.2.1 快速配置 262
  • 12.2.2 解读数据 263
  • 12.2.3 配置第三方panel 267
  • 12.2.4 line_profiler 269
  • 12.2.5 总结 271
  • 12.2.6 参考资料 271
  • 12.3 使用silk 271
  • 12.3.1 快速配置silk 271
  • 12.3.2 配置profiling 273
  • 12.3.3 总结 273
  • 12.3.4 参考资料 273
  • 12.4 本章总结 274
  • 第13章 配置MySQL和缓存 275
  • 13.1 配置MySQL 275
  • 13.1.1 使用CONN_MAX_AGE优化数据库连接 276
  • 13.1.2 配置正式的settings 277
  • 13.1.3 总结 277
  • 13.1.4 参考资料 277
  • 13.2 缓存的演化 278
  • 13.2.1 什么是缓存 278
  • 13.2.2 缓存装饰器 279
  • 13.2.3 增强缓存装饰器 280
  • 13.2.4 不引入Redis吗 283
  • 13.2.5 继续演变我们的缓存逻辑 284
  • 13.2.6 Django中的缓存配置 284
  • 13.2.7 配置Redis缓存 286
  • 13.2.8 应用场景和缓存的粒度 287
  • 13.2.9 总结 287
  • 13.2.10 参考资料 288
  • 13.3 本章总结 288
  • 第14章 上线前的准备 289
  • 14.1 你的代码如何为用户提供服务 290
  • 14.1.1 整体结构 290
  • 14.1.2 项目部署方案 291
  • 14.1.3 系统架构 292
  • 14.1.4 总结 292
  • 14.2 标准化打包和自动化部署 292
  • 14.2.1 配置项目的setup.py 293
  • 14.2.2 sdist与bdist_wheel 295
  • 14.2.3 配置内部PyPI服务器 296
  • 14.2.4 自动化部署 298
  • 14.2.5 编写fabfile配置 299
  • 14.2.6 总结 303
  • 14.2.7 参考资料 304
  • 14.3 在生产环境中运行项目 304
  • 14.3.1 为什么需要使用Gunicorn 304
  • 14.3.2 Gunicorn简介 305
  • 14.3.3 使用Gunicorn 306
  • 14.3.4 Supervisor介绍 307
  • 14.3.5 自动化部署和supervisord 310
  • 14.3.6 setup.py和requirements.txt 311
  • 14.3.7 配置正式settings 312
  • 14.3.8 静态文件处理 315
  • 14.3.9 总结 315
  • 14.3.10 参考资料 315
  • 14.4 配置Nginx 315
  • 14.4.1 Nginx介绍 315
  • 14.4.2 为什么使用Nginx 316
  • 14.4.3 配置Nginx 318
  • 14.4.4 总结 320
  • 14.4.5 参考资料 320
  • 14.5 常用的监控方式 320
  • 14.5.1 实时监控 320
  • 14.5.2 统计分析 321
  • 14.5.3 业务监控(埋点统计) 322
  • 14.5.4 总结 322
  • 14.6 试试你的系统能抗多少请求 322
  • 14.6.1 计算系统承载量 322
  • 14.6.2 反推一下 324
  • 14.6.3 压力测试 324
  • 14.6.4 压测工具介绍 324
  • 14.6.5 完全模拟真实流量 326
  • 14.6.6 缓存加速访问 327
  • 14.6.7 总结 328
  • 14.6.8 参考资料 328
  • 14.7 本章总结 328
  • 第15章 升级到Django 2.0 329
  • 15.1 Django 2.x——Python 2时代的逝去 329
  • 15.2 轻松升级到Django 2.0 330
  • 15.2.1 几个重要的变化 330
  • 15.2.2 第三方库的升级 331
  • 15.2.3 总结 331
  • 15.3 本章总结 332
  • 第16章 最后总结 333
  • 16.1 技术栈总结 333
  • 16.1.1 技术栈列表 333
  • 16.1.2 总结 334
  • 16.2 后续可实践方向 334
  • 16.2.1 精于一点 335
  • 16.2.2 持续滚动雪球 335
  • 16.3 Django Web开发技术栈清单 336
  • 16.3.1 Python基础 336
  • 16.3.2 Django基础 336
  • 16.3.3 Django进阶 338
  • 16.3.4 部署相关 338
  • 16.3.5 MySQL数据库 339
  • 16.3.6 Redis 339
  • 16.3.7 常用算法 339
  • 16.3.8 总结 339
  • 16.4 最后 340
  • 附录A 使用Fabric 2.0 341
  • 附录B 使用uWSGI来启动Django程序 347
  • 附录C Sentry安装和配置 350
  • 附录D 评论验证码功能 354
  • 附录E 通过signal来解耦代码 358
  • 附录F 实现文章置顶的几种方案 363
  • 附录G 以腾讯云为例演示部署流程 365

资源获取

相关资源

网友留言

网友NO.39341
网友NO.39341

首先,我们来谈谈作者胡阳的态度买了这本书之后,我加了一个群我可以在小组里问书中的问题,也可以在自己看不懂的地方提问笔者很耐心的一一解答,很有耐心,然后项目讲解和需求分析对刚进入编程不久的人也有一定的指导作用让所有人(新手)心中有数。

此外,所有代码和一系列相关文档都可以在GitHub上获得也可以下载代码自己学习成长,但正如作者所说,必须自己打代码。

最后,本书适合有Python基础,但想开始学习Django的人,建议没有Python基础先学基础。

网友NO.37758
网友NO.37758

好书!手把手教学,不只是 Django,还有大量的项目开发知识,非常适合没有项目经验的同学作入门