python django开发实战pdf_Django企业开发实战高效Python Web框架指南pdf免费版完整版...

开发工程师the5fire教你学会如何使用流行的Python,Web框架Django

介绍Python Web框架Django在企业中的应用的书籍,从零开发到部署完整案例,Django企业开发实战高效Python Web框架指南电子版是开发工程师the5fire多年开发经验总结,以博客系统为原型,教你以真实的视角搭建自己的生产环境。

Django企业开发实战高效Python Web框架指南电子版预览

内容简介

本书以从零开发一个博客系统为例,介绍Django在日常工作中的应用。

本书共分为四部分。第一部分介绍编码之前的准备工作,包括需求分析、Web开发基础以及选型时Demo的练习。第二部分开始正式实现需求,介绍了环境配置、编码规范以及合理的项目结构划分。通过对Django各部分(Model、Form、admin、View)的介绍和使用,完成了一个基础的博客系统。第三部分在前面的基础上介绍Django第三方插件的使用,通过引入这些插件进一步增强我们的系统。最后一部分也是正式工作中必不可少的部分,包含调试代码、优化系统、压力测试以及自动化等内容。

本书适合Python Web开发人员阅读。

作者介绍

胡阳,网名the5fire,前搜狐开发工程师,现任知乎开发工程师,负责部分业务的后端开发和团队管理。

具有10年编程经验和写博客经验,喜欢通过代码来构建一些有价值的东西,也爱好记录和分享自己的经验。

2011年从Java转到Python后,便不可自拔,主要熟悉的Web框架是Django和Tornado。赞叹于Python的开发效率,欣赏Django完备的功能点对实际项目开发中程序员生产力的提升。

目录大全

第一部分初入江湖

第1章需求2

11需求文档3

12需求评审/分析4

121博客需求评审5

122评审之后6

13功能分析6

131需求列表6

132功能点梳理7

133模块划分8

14模块划分9

141实体及关系9

142模块划分10

15本章总结12

第2章框架基础和技术选型13

21Python27与Python3x13

211历史演进13

212现实场景14

213为未来做准备15

214参考资料15

22WSGI——Web框架基础15

221简介15

222简单的WebServer16

223多线程版的WebServer17

224简单的WSGIApplication20

225理解WSGI22

226WSGI中间件和Werkzeug23

227参考资料24

228扩展阅读24

23Flask框架24

231入门推荐25

232Flask内置功能25

233匹配需求26

234总结26

24Tornado框架26

241印象26

242内置功能27

243总结27

25Django框架28

251新手友好程度28

252内置功能29

253总结29

254参考资料29

26本章总结30

第3章Django小试牛刀31

31如何阅读Django文档31

311文档结构31

312总结36

32学员管理系统的后台开发37

321需求37

322初始化环境37

323创建项目38

324创建App38

325编写代码39

326基础配置(中文)41

327总结41

33学员管理系统的前台开发41

331开发首页41

332输出数据42

333提交数据44

334优化数据,获取逻辑47

335总结47

34学员管理系统的进阶部分48

341使用class-basedview48

342配置middleware49

343编写TestCase提升代码稳定性53

344总结57

35本章总结57

第二部分正式开发

第4章进入开发60

41编码规范60

411importthis(Python之禅)61

412Python编码规范62

413Django编码风格66

414总结69

415参考资料69

42虚拟环境69

421Python33之后自带venv模块69

422virtualenv的用法70

423总结71

424参考资料71

43合理的项目结构71

431原则71

432通用项目结构71

433Django项目结构72

434总结74

435参考资料74

44版本管理与协作:Git74

441我们的协作方式74

442Git的基本概念75

443案例演示76

444Git进阶76

445总结80

446参考资料80

45本章总结80

第5章奠定项目基石:Model81

51创建项目及配置81

511拆分settings以适应不同的运行环境83

512配置settings84

513配置Git85

514总结86

515参考资料86

52编写Model层的代码86

521创建App87

522配置INSTALLED_APPS92

523创建数据库[表]93

524提交代码95

525总结96

526参考资料96

53Model层:字段介绍96

531ORM的基本概念97

532常用字段类型98

533参数99

534总结100

535参考资料101

54Model层:QuerySet的使用101

541QuerySet的概念101

542常用的QuerySet接口102

543进阶接口104

544常用的字段查询105

545进阶查询106

546总结107

547参考资料107

55本章总结107

第6章开发管理后台108

61配置admin页面108

611创建blog的管理后台109

612comment的admin配置115

613config的admin配置115

614详细配置116

615总结117

62根据需求定制admin117

621定义list页面117

622编辑页面的配置120

623自定义静态资源引入122

624自定义Form123

625在同一页面编辑关联数据123

626定制site124

627admin的权限逻辑以及SSO登录125

628总结127

629参考资料127

63抽取Admin基类127

631抽象author基类127

632总结131

64记录操作日志131

641使用LogEntry131

642查询某个对象的变更133

643在admin页面上查看操作日志133

65本章总结134

第7章开发面向用户的界面135

71搭建基础结构与展示文章数据135

711分析URL和页面数据135

712编写URL代码137

713编写View代码138

714配置模板139

715模板找不到的错误处理140

716编写正式的View代码141

717配置模板数据142

718总结144

719参考资料144

72配置页面通用数据144

721完善模板信息144

722重构post_list视图146

723分类信息147

724侧边栏配置150

725总结150

73封装侧边栏逻辑150

731调整模型151

732封装好SideBar151

733总结153

74整理模板代码153

741抽象基础模板153

742解耦硬编码155

743总结157

75升级至class-basedview157

751函数与类157

752理解class-basedview157

753改造代码162

754总结166

755参考资料166

76Django的View是如何处理请求的166

761class-basedview的处理流程166

762总结167

77本章总结167

第8章引入前端样式框架Bootstrap168

81Bootstrap的基本用法169

811介绍169

812容器和栅格系统169

813简单的页面布局171

814总结174

815参考资料174

82基于Bootstrap美化页面174

821增加themes目录175

822修改模板176

823总结180

83配置线上静态资源180

831内联CSS和外联CSS180

832Django中的静态资源181

833在模板中使用静态资源182

834总结183

835参考资料183

84本章总结183

第9章完成整个博客系统184

91增加搜索和作者过滤184

911增加搜索功能185

912增加作者页面186

913总结186

92增加友链页面186

93增加评论模块188

931评论提交的方式188

932评论模块通用化改造188

933实现评论190

934抽象出评论模块组件和Mixin195

935修改最新评论模板197

936总结197

937参考资料197

94配置Markdown编写文章的支持197

941Markdown第三方库197

942评论内容支持198

943文章正文使用Markdown198

944配置代码高亮199

945总结201

946参考资料201

95增加访问统计201

951文章访问统计分析202

952实现文章访问统计203

953更加合理的方案206

954总结206

955参考资料206

96配置RSS和sitemap206

961实现RSS输出206

962实现sitemap208

963配置RSS和sitemap的urlspy209

964总结210

965参考资料210

97本章总结210

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

第10章使用第三方插件增强管理后台214

101xadmin介绍和使用215

1011特性215

1012安装最新的xadmin代码216

1013admin替换为xadmin216

1014fieldset修改为FieldSet218

1015静态资源Media配置219

1016自定义过滤器219

1017数据处理上的差异221

1018处理inline221

1019sitetitle和sitefooter的处理222

10110去掉Djangoadmin自带的log配置222

10111总结222

102使用django-autocomplete-light优化性能222

1021创造1万个分类223

1022django-autocomplete-light介绍224

1023引入插件224

1024总结226

1025参考资料226

103使用django-ckeditor开发富文本编辑器226

1031基础配置227

1032配置图片228

1033上传图片配置228

1034自定义存储以及水印229

1035Markdown和django-ckeditor共存231

1036总结234

1037参考资料234

104本章总结235

第11章使用django-rest-framework236

111接口需求及django-rest-framework介绍237

1111快速上手237

1112配置APIdocs240

1113总结242

1114参考资料242

112生成我们的RESTful接口242

1121区分list和detail242

1122实现分页243

1123实现Category接口244

1124HyperlinkedModelSerializer的使用246

1125其他数据接口的实现248

1126总结248

1127参考资料248

113本章总结249

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

第12章调试和优化252

121常用的调试和调优手段252

1211调试手段252

1212调优手段259

1213总结262

1214参考资料262

122使用django-debug-toolbar优化系统262

1221快速配置262

1222解读数据263

1223配置第三方panel267

1224line_profiler269

1225总结271

1226参考资料271

123使用silk271

1231快速配置silk271

1232配置profiling273

1233总结273

1234参考资料273

124本章总结274

第13章配置MySQL和缓存275

131配置MySQL275

1311使用CONN_MAX_AGE优化数据库连接276

1312配置正式的settings277

1313总结277

1314参考资料277

132缓存的演化278

1321什么是缓存278

1322缓存装饰器279

1323增强缓存装饰器280

1324不引入Redis吗283

1325继续演变我们的缓存逻辑284

1326Django中的缓存配置284

1327配置Redis缓存286

1328应用场景和缓存的粒度287

1329总结287

13210参考资料288

133本章总结288

第14章上线前的准备289

141你的代码如何为用户提供服务290

1411整体结构290

1412项目部署方案291

1413系统架构292

1414总结292

142标准化打包和自动化部署292

1421配置项目的setuppy293

1422sdist与bdist_wheel295

1423配置内部PyPI服务器296

1424自动化部署298

1425编写fabfile配置299

1426总结303

1427参考资料304

143在生产环境中运行项目304

1431为什么需要使用Gunicorn304

1432Gunicorn简介305

1433使用Gunicorn306

1434Supervisor介绍307

1435自动化部署和supervisord310

1436setuppy和requirementstxt311

1437配置正式settings312

1438静态文件处理315

1439总结315

14310参考资料315

144配置Nginx315

1441Nginx介绍315

1442为什么使用Nginx316

1443配置Nginx318

1444总结320

1445参考资料320

145常用的监控方式320

1451实时监控320

1452统计分析321

1453业务监控(埋点统计)322

1454总结322

146试试你的系统能抗多少请求322

1461计算系统承载量322

1462反推一下324

1463压力测试324

1464压测工具介绍324

1465完全模拟真实流量326

1466缓存加速访问327

1467总结328

1468参考资料328

147本章总结328

第15章升级到Django20329

151Django2x——Python2时代的逝去329

152轻松升级到Django20330

1521几个重要的变化330

1522第三方库的升级331

1523总结331

153本章总结332

第16章最后总结333

161技术栈总结333

1611技术栈列表333

1612总结334

162后续可实践方向334

1621精于一点335

1622持续滚动雪球335

163DjangoWeb开发技术栈清单336

1631Python基础336

1632Django基础336

1633Django进阶338

1634部署相关338

1635MySQL数据库339

1636Redis339

1637常用算法339

1638总结339

164最后340

附录A使用Fabric20341

附录B使用uWSGI来启动Django程序347

附录CSentry安装和配置350

附录D评论验证码功能354

附录E通过signal来解耦代码358

附录F实现文章置顶的几种方案363

附录G以腾讯云为例演示部署流程365

你可能感兴趣的:(python,django开发实战pdf)