当前位置:首页 > 工业技术
Django企业开发实战
Django企业开发实战

Django企业开发实战PDF电子书下载

工业技术

  • 电子书积分:13 积分如何计算积分?
  • 作 者:胡阳著
  • 出 版 社:北京:人民邮电出版社
  • 出版年份:2019
  • ISBN:9787115506894
  • 页数:375 页
图书介绍:本书以从零开发一个博客系统为例,介绍Django在日常工作中的应用。本书共分为四部分,第一部分介绍编码之前的准备工作;第二部分开始正式实现需求,介绍了环境配置、编码规范以及合理的项目结构划分;第三部分在前面的基础上介绍Django第三方插件的使用;最后一部分也是正式工作中必不可少的部分,包含调试代码、优化系统、压力测试以及自动化等内容。
《Django企业开发实战》目录

第一部分 初入江湖 2

第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 3x 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

第二部分 正式开发 60

第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使用LogEnt ry 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和外联C S S 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.1Markdown第三方库 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

第三部分 第三方插件的使用 214

第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 HyperlinkedModelseria-lizer的使用 246

11.2.5其他数据接口的实现 248

11.2.6总结 248

11.2.7参考资料 248

11.3本章总结 249

第四部分 上线前的准备及线上问题排查 252

第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配置N ginx 315

14.4.1 Nginx介绍 315

14.4.2为什么使用Nginx 316

14.4.3配置Ngi nx 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

返回顶部