| 
 新書推薦:
 
  《 
			古琴之美·2026(可读、可听、可学、可赏的“立体化”文化日历;专注于古琴文化的鉴赏日历)
			》
 售價:HK$ 
			107.8
 
  《 
			财之道丛书·贪婪的游戏:金融投机100年
			》
 售價:HK$ 
			74.8
 
  《 
			算力崛起:重塑未来经济与社会
			》
 售價:HK$ 
			76.8
 
  《 
			敦煌壁画?纹样
			》
 售價:HK$ 
			151.8
 
  《 
			丑的美学 一部跨越两个世纪的美学沉思录
			》
 售價:HK$ 
			140.8
 
  《 
			智圆行方――燕京医学名家处方手迹藏臻
			》
 售價:HK$ 
			437.8
 
  《 
			大设计师威廉·莫里斯
			》
 售價:HK$ 
			151.8
 
  《 
			新宏观经济学 来自后凯恩斯主义-老制度主义-马克思主义传统的第一本宏观经济学教科书
			》
 售價:HK$ 
			283.8
 
 
 | 
         
          | 編輯推薦: |   
          | 通过从零开发到部署完整案例,介绍Python Web框架Django在企业中的应用 开发工程师the5fire多年开发经验总结
 以博客系统为原型,教你以真实的视角搭建自己的生产环境
 |  
         
          | 內容簡介: |   
          | 本书以从零开发一个博客系统为例,介绍Django在日常工作中的应用。來源:香港大書城megBookStore,http://www.megbook.com.hk 本书共分为四部分。*部分介绍编码之前的准备工作,包括需求分析、Web开发基础以及选型时Demo的练习。第二部分开始正式实现需求,介绍了环境配置、编码规范以及合理的项目结构划分。通过对Django各部分(Model、Form、admin、View)的介绍和使用,完成了一个基础的博客系统。第三部分在前面的基础上介绍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
 |    |