书籍 Python 3自动化软件发布系统  Django 2 实战的封面

Python 3自动化软件发布系统 Django 2 实战PDF电子书下载

陈刚

购买点数

20

出版社

出版时间

2020

ISBN

标注页数

0 页

PDF页数

749 页

图书目录

第1章 Python基础 1

1.1Python基本数据类型的常用操作 5

1.1.1数字(Number)——人生不能只会做减法 6

1.1.2字符串(String)——一入编码深似海 8

1.1.3列表(List)——古龙之七种武器 10

1.1.4元组(Tuple)——一颗不变心 14

1.1.5字典(Dictionary)——键值CP 15

1.1.6集合(Set)——我们的集合无悖论 16

1.2顺序、分支及循环语句 17

1.2.1顺序编程——知所先后,则近道矣 18

1.2.2分支语句——《交叉小径的花园》 19

1.2.3循环——《恐怖游轮》 21

1.3函数和类 22

1.3.1函数——好莱坞原则 22

1.3.2类——有没有对象,都累 25

1.4并发编程 28

1.4.1进程池示例——《低俗小说》 28

1.4.2线程池示例 30

1.5模块化 31

1.6测试 34

1.7小结 39

第2章 Django基础 42

2.1Web及HTTP 42

2.1.1Web简介 42

2.1.2HTTP协议 43

2.1.3HTTP协议方法 44

2.2HTML、CSS、JavaScript 45

2.2.1HTML 45

2.2.2CSS 45

2.2.3JS(JavaScript) 46

2.2.4Python、Django是怎么和Web搭上关系的 46

2.3Django简介及Web实现 48

2.3.1Django简介 48

2.3.2Python的Web服务器 49

2.3.3Django模块实现Web服务器 49

2.4Django新建项目应用及运行机制 50

2.4.1新建Django项目应用 50

2.4.2Django目录及文件分析 51

2.4.3Django框架的工作机制 53

2.5Django视图 55

2.5.1基于函数的视图 55

2.5.2Django的HttpRequest对象 58

2.5.3Django HttpRequest对象中的QueryDict对象 59

2.5.4Django的HttpResponse对象 59

2.6Django路由URL 61

2.6.1UrlConf简介 61

2.6.2UrlConf的Urlpatterns 62

2.6.3UrlConf的路由分发 63

2.6.4UrlConf的反向解析 64

2.6.5UrlConf的命名空间 65

2.7Django模板Template 66

2.7.1Django Template Language简介 67

2.7.2Django Template加载配置及基本使用 69

2.7.3Django Template的Render快捷使用 71

2.8Django模型Model 72

2.8.1Model ORM 73

2.8.2Model示例 73

2.8.3ORM常用Field及属性 77

2.8.4Django Shell操作ORM 79

2.8.5函数视图操作ORM(显示board列表) 81

2.8.6函数视图操作ORM(显示指定board的topic列表) 83

2.8.7函数视图操作ORM(新增topic) 85

2.8.8函数视图操作ORM(指定board的topic内容) 88

2.8.9类视图操作ORM(显示board列表) 90

2.8.10Model的底层数据库连接配置 92

2.9Django表单Form 93

2.10Django后台管理Admin 95

2.10.1Admin界面登录 95

2.10.2应用Model的注册 96

2.10.3Model Admin自定义管理界面 98

2.11Django测试 99

2.12小结 100

第3章 自动化软件发布工作流 101

3.1示例项目 102

3.1.1编写示例代码 102

3.1.2编译项目 105

3.1.3手工运行 106

3.1.4其他示例代码 107

3.2使用GitLab保存源代码 109

3.2.1建立用户和项目组 109

3.2.2建立项目 113

3.2.3将本地代码推送到GitLab中 115

3.3使用Jenkins编译项目 120

3.4使用Nginx作为软件仓库 125

3.4.1Jenkins和Nginx服务器之间免密码登录 126

3.4.2安装并配置Nginx服务器 128

3.4.3安装Jenkins插件 128

3.4.4配置Jenkins Pipeline 129

3.4.5验证 130

3.5使用SaltStack推送服务端脚本 132

3.5.1Salt Master及Salt Minion的安装 132

3.5.2通过Salt Master远程执行脚本命令 134

3.5.3Salt-API配置 137

3.5.4实现远程拉取软件、启停服务的脚本范例 146

3.5.5测试 151

3.6Jenkins REST API使用讲解 153

3.6.1Jenkins原生API的获取 154

3.6.2Python-Jenkins库的安装 159

3.6.3Python-Jenkins的常用方式 160

3.6.4封装一个Python脚本,实现自动化编译软件 163

3.7GitLab REST API使用讲解 167

3.7.1Python-GitLab的安装、配置 167

3.7.2Python-GitLab常用功能使用 169

3.7.3使用Python-GitLab获取Zep-Backend-Java文件列表 174

3.8小结 175

第4章 自动化发布的数据库模型 176

4.1功能展示 176

4.1.1用户管理 176

4.1.2应用App的管理 176

4.1.3服务器的管理 178

4.1.4应用权限的管理 178

4.1.5发布单的新建及软件包编译 179

4.1.6环境流转 179

4.1.7软件发布 180

4.1.8软件流转及发布历史 181

4.2新建项目及App 181

4.2.1新建目录,通过Pip安装相关模块 181

4.2.2新建项目及相关App 181

4.2.3生成数据及管理员密码 182

4.2.4启动Dj ango服务并验证 184

4.2.5与PyCharm集成 185

4.3调整文件内容 186

4.3.1中文及时区 186

4.3.2App注册 187

4.3.3URL路由调整 189

4.4Django Models的抽象基类 190

4.5应用数据表 192

4.5.1models.py文件内容 192

4.5.2将应用数据表迁移进数据库 196

4.5.3生成模拟数据 198

4.6环境数据表 204

4.6.1models.py文件内容 204

4.6.2将环境数据表迁移进数据库 204

4.6.3生成模拟数据 206

4.7服务器数据表 207

4.7.1models py文件内容 207

4.7.2将服务器数据表迁移进数据库 209

4.7.3生成模拟数据 211

4.8发布单状态数据表 212

4.8.1models py文件内容 213

4.8.2将发布状态数据表迁移进数据库 213

4.8.3生成模拟数据 215

4.9发布单数据表 216

4.9.1models.py文件内容 216

4.9.2将发布单数据表迁移进数据库 220

4.9.3生成模拟数据 221

4.10权限管理数据表 224

4.10.1models.py文件内容 225

4.10.2将权限数据表迁移进数据库 226

4.10.3生成模拟数据 228

4.11历史记录数据表 231

4.11.1models.py文件内容 231

4.11.2将历史数据表迁移进数据库 232

4.12理解Django Migrate(数据迁移) 233

4.12.1Migrate原理 234

4.12.2理解更新models.py文件的原理 236

4.12.3重置migration 238

4.13小结 239

第5章 用户注册登录及密码管理 241

5.1用户管理简介 241

5.2Web开发中的Cookie及Session 242

5.2.1Cookie 242

5.2.2Session 243

5.3中间件(Middleware)及预安装(INSTALLED_APPS) 245

5.3.1Django框架中的Middleware 245

5.3.2Django框架中的INSTALLED_APPS 248

5.4用户管理 249

5.4.1用户注册 250

5.4.2用户认证 250

5.4.3用户登录 250

5.4.4用户退出 251

5.4.5修改密码 251

5.5用户组管理 252

5.6Django权限功能 253

5.6.1权限管理简介 253

5.6.2用户权限 254

5.6.3用户组权限 256

5.7Manabe用户注册 256

5.7.1用户注册表单 257

5.7.2用户注册视图 260

5.7.3用户注册模板 262

5.7.4用户注册路由 267

5.8Manabe用户登录及退出 268

5.8.1用户登录表单 268

5.8.2用户登录视图 269

5.8.3用户登录模板 270

5.8.4用户登录路由 272

5.9Manabe邮箱更改 272

5.9.1邮箱更改表单 273

5.9.2邮箱更改视图 274

5.9.3邮箱更改模板 275

5.9.4邮箱更改路由 276

5.10Manabe密码更改 277

5.10.1密码更改表单 277

5.10.2密码更改视图 279

5.10.3密码更改模板 280

5.10.4密码更改路由 281

5.11Manabe通过邮箱重置密码 281

5.11.1Django邮件发送功能启用 282

5.11.2密码重置路由注册 283

5.11.3密码重置模板 284

5.11.4Django内置视图总结 291

5.12Manabe登录验证码 294

5.13Manabe首页 297

5.13.1网站首页视图 298

5.13.2网站模板 298

5.13.3Django内置视图总结 301

5.14小结 302

第6章 应用录入和服务器录入 303

6.1App服务录入页面 303

6.1.1App服务网页功能展示 303

6.1.2录入、编辑、展示的URL设置 306

6.1.3App录入的视图 308

6.1.4App录入的表单 312

6.1.5App录入的模板 318

6.1.6App录入的浏览器验证 323

6.2App服务编辑页面 323

6.2.1App编辑视图 323

6.2.2App编辑模板文件 325

6.3App服务列表展示 328

6.3.1App服务列表视图 328

6.3.2App服务列表模板文件 330

6.4App服务详情页面 336

6.4.1App服务详情视图 336

6.4.2App服务详情模板 337

6.5App服务权限设计 339

6.5.1Rightadmin权限模块的路由 340

6.5.2Rightadmin权限显示 342

6.5.3Rightadmin权限显示后端的实现 345

6.5.4Rightadmin权限编辑功能模板 346

6.5.5Rightadmin权限编辑后端的实现 349

6.5.6Rightadmin权限调用的实现 351

6.6服务器的录入、编辑、展示 354

6.6.1服务器模块的URL路由设置 355

6.6.2服务器的录入视图类、Form表单文件及模板 356

6.6.3服务器的编辑视图类及模板 364

6.6.4服务器的展示视图类及模板 368

6.6.5服务器的详情视图类及模板 373

6.7Django Model测试 375

6.8Django View测试 377

6.9Django Form测试 378

6.10小结 381

第7章 生成发布单 382

7.1发布单介绍 383

7.2新建发布单 384

7.2.1新建发布单表单 384

7.2.2新建发布单视图 388

7.2.3新建发布单模板 390

7.2.4新建发布单路由 393

7.3发布单列表 394

7.3.1发布单列表视图 395

7.3.2发布单列表模板 396

7.3.3发布单列表路由 399

7.4编译程序包 400

7.4.1编译视图 400

7.4.2编译模板 405

7.4.3编译路由 410

7.4.4程序包检测 410

7.5发布单详情 412

7.5.1发布单详情视图 412

7.5.2发布单详情模板 413

7.5.3发布单详情路由 414

7.6通过上传方式新建发布单 414

7.6.1发布单上传表单 415

7.6.2发布单上传视图 417

7.6.3发布单上传模板 421

7.6.4发布单上传路由 424

7.7小结 425

第8章 环境流转 426

8.1环境流转列表 426

8.1.1环境流转列表视图 427

8.1.2环境流转列表模板 429

8.1.3环境流转列表路由 434

8.2环境流转功能 435

8.2.1环境流转功能视图 435

8.2.2环境流转模板 438

8.2.3环境流转JS 439

8.2.4环境流转路由 441

8.3环境流转历史 442

8.3.1环境流转历史视图 442

8.3.2环境流转历史模板 444

8.3.3环境流转历史路由 448

8.4小结 448

第9章 软件发布 449

9.1发布首页展示 449

9.1.1发布首页视图类 449

9.1.2发布首页模板文件 452

9.1.3发布首页路由设置 456

9.2发布详情页展示 457

9.2.1发布详情页视图类 457

9.2.2发布详情页模板 459

9.2.3发布详情页的JS代码 466

9.2.4发布详情页路由 467

9.3发布功能实现 468

9.3.1浏览器的JS获取发布参数,并发布到后端 469

9.3.2deploy_cmd函数解析发布参数 471

9.3.3deploy函数启动Python的线程池 474

9.3.4cmd_run函数操作Salt-API 476

9.3.5cmd_run运行过程中调用的日志读/写及数据表更新 482

9.3.6服务启停脚本的实现 487

9.4服务启停首页展示 495

9.4.1服务启停首页视图类 495

9.4.2服务启停首页网页模板 496

9.4.3服务启停首页路由设置 500

9.5服务启停详情页展示 500

9.5.1服务启停详情视图类 501

9.5.2服务启停详情网页模板 503

9.5.3服务启停详情路由 510

9.6部署历史实现 510

9.6.1部署历史视图函数 511

9.6.2部署历史网页模板 512

9.6.3部署历史路由设置 516

9.7Django Mock测试 516

9.8小结 518

第10章 使用Django Channels实现基于WebSocket的实时日志 519

10.1WebSocket协议简介 520

10.1.1客户端(浏览器)WebSocket 520

10.1.2后台服务端WebSocket 523

10.1.3Django Channels名词解释 523

10.2Django Channels项目(mablog)安装配置 526

10.2.1Pip安装Channels模块 526

10.2.2新建mablog项目 527

10.3mablog数据库Model简介 529

10.3.1设计models.py 529

10.3.2将models.py的内容更新到数据库 530

10.4日志写入实现 531

10.4.1wslog的路由设置 533

10.4.2wslog的log_add函数 533

10.4.3wslog的log_add函数的测试 534

10.5实时日志读取实现 535

10.5.1日志读取的路由设置 536

10.5.2日志读取的视图函数 536

10.5.3日志读取的网页模板 536

10.6使用Django Channels实现后端WebSocket 541

10.6.1改造settings.py文件 541

10.6.2新增asgi.py文件 544

10.6.3新增routing.py文件 545

10.6.4新增consumers.py文件,实现Channels消费者函数 546

10.6.5测试ASGI服务器 548

10.6.6分析客户端的JS代码 549

10.7Django Channels生产环境运行配置 551

10.8Django Channels测试 552

10.9小结 553

第11章 使用Django REST Framework开发API接口 554

11.1RESTful API及Django REST Framework简介 555

11.1.1RESTful关键字 556

11.1.2Django REST Framework简介 557

11.2DRF安装配置 558

11.2.1安装DRF 558

11.2.2配置DRF 558

11.3查看和修改用户Token 560

11.3.1获取和更新Token的视图函数 560

11.3.2获取和更新Token的网页模板 561

11.3.3获取和更新Token的URL路由 561

11.3.4增加网页右上角查看Token的链接 562

11.3.5通过网页测试查看和修改用户Token的功能 562

11.4手工建立一个API的Django App应用 563

11.4.1新增API的目录及文件 563

11.4.2在settings.py文件里新增应用 565

11.4.3测试api-token-auth功能 566

11.5实现查看用户的RESTful API 566

11.5.1序列化和反序列化User数据表字段 567

11.5.2生成User视图集合类 568

11.5.3为User的API注册访问路由 569

11.6实现查看发布单的RESTful API 571

11.6.1序列化DeployPool数据表字段 571

11.6.2生成DeployPool视图集合类 572

11.6.3为发布单的API注册访问路由 573

11.7实现查看、新增和修改服务器的RESTful API 575

11.7.1序列化Server数据表字段 575

11.7.2生成Server视图集合类 576

11.7.3为Server API注册访问路由 579

11.7.4使用Requests库测试Server API 580

11.8实现查看、新增和修改App服务应用的RESTful API 582

11.8.1序列化App服务应用数据表字段 582

11.8.2生成App服务应用视图集合类 582

11.8.3为APP服务应用API注册访问路由 584

11.9Django REST Framework API测试 585

11.10小结 588

第12章 Django日志和数据统计及生产环境部署 589

12.1Django Logging日志模块 590

12.1.1Logging日志模块简介 590

12.1.2为Manabe加上日志功能 592

12.2统计自动化部署系统的数据 594

12.2.1按天统计发布单的视图及路由 595

12.2.2按天统计发布单的类视图、网页模板及echarts代码 597

12.2.3Top10组件发布单统计 600

12.3Django生产服务器部署 604

12.3.1WSGI协议 604

12.3.2uWSGI服务器介绍 605

12.3.3uWSGI服务器部署 605

12.3.4支持uWSGI的Nginx服务器部署 607

12.3.5Gunicorn服务器介绍 610

12.3.6Gunicorn服务器部署 610

12.3.7支持Gunicorn的Nginx服务器部署 612

12.4为Manabe应用制作Docker镜像 613

12.4.1制作包含配置及静态资源的Nginx镜像 613

12.4.2制作包含u W SGI及Gunicorn、Channels的镜像 615

12.4.3制作Manabe的u W SGI的专用镜像 617

12.4.4制作Manabe的Gunicorn的专用镜像 618

12.5为Mablog应用制作Docker镜像 619

12.6Coverage—— Django代码覆盖率测试 621

12.7小结 623

附录1 Django2.1开发环境配置 624

附1.1Python3.6.6安装配置(Windows) 624

附1.1.1下载 624

附1.1.2安装 625

附1.1.3运行Python3 626

附1.1.4Python IDLE基本操作 626

附1.2Django2.1安装 628

附1.3Python虚拟环境管理 628

附1.3.1内置venv模块 629

附1.3.2pipenv 630

附1.4新建一个Django的demo项目 632

附1.5PyCharm安装配置 632

附1.5.1PyCharm安装 633

附1.5.2PyCharm配置 634

附1.6Are You Ready 637

附1.6.1PEP8 637

附1.6.2Pythonic 639

附录2 GitLab安装配置 640

附2.1源代码管理简介 640

附2.2GitLab安装 641

附2.2.1配置yum源 641

附2.2.2更新本地yum缓存 642

附2.2.3安装GitLab社区版 642

附2.2.4修改外部URL 642

附2.2.5启动GitLab 642

附2.3GitLab服务初始化及TortoiseGit客户端使用 643

附2.3.1更改GitLab管理员密码,登录系统 643

附2.3.2新建一个GitLab项目 644

附2.3.3在Windows下使用TortoiseGit操作GitLab 645

附2.4GitLab系统管理 655

附2.4.1新增项目组 655

附2.4.2新增项目 657

附2.4.3新增用户 658

附2.4.4项目赋权 659

附2.4.5权限明细 661

附录3 Jenkins安装配置 663

附3.1Jenkins特性 664

附3.2安装 664

附3.2.1下载 664

附3.2.2运行 665

附3.2.3验证 666

附3.3配置 666

附3.3.1获取初始管理员密码 666

附3.3.2安装推荐插件 667

附3.3.3创建管理员 667

附3.3.4实例配置 667

附3.4Jenkins Pipeline 669

附3.4.1Pipeline特性——Pipeline as Code 670

附3.4.2Pipeline基本概念 670

附3.4.3创建一个Pipeline示例 670

附3.4.4Pipeline语法参考 673

附3.5Jenkins系统配置 678

附录4 H-ui前端使用入门 680

附4.1H-ui的主要组件 681

附4.1.1表格(http://www.h-ui.net/Hui-3.3-table.shtml) 681

附4.1.2按钮(http://www.h-ui.net/Hui-3.5-button.shtml) 682

附4.1.3表单(http://www.h-ui.net/Hui-3.4-form.shtml) 682

附4.1.4警告(http://www.h-ui.net/Hui-4.8-alert.shtml) 684

附4.1.5模态对话框(http://www.h-ui.net/Hui-4.10-modal.shtml) 684

附4.1.6便签和标号(http://www.h-ui.net/Hui-4.6-labelBadge.shtml) 685

附4.1.7tooltip效果(http://www.h-ui.net/Hui-4.25-tooltip.shtml) 686

附4.1.8标题(http://www.h-ui.net/Hui-3.1-typography.shtml) 686

附4.2H-ui.admin的主要网页 687

附4.2.1Admin主页面 687

附4.2.2Admin网页代码主要框架 688

附4.3将Admin网页合成进Django模板 690

附4.3.1网页顶部导航header.html 690

附4.3.2侧边导航sidemenu.html 692

附4.3.3内部顶部导航topnav.html 695

附4.3.4统一的页脚本footer.html 695

附4.3.5全局基本网页模板template.html 696

附4.3.6继承网页的基本应用,index.html 698

附4.4jQuery、zTree及Select2库的使用 701

附4.4.1jQuery(网址:http://jquery.com/) 702

附4.4.2zTree(网址:http://www.treejs.cn/) 703

附4.4.3Select2(网址:https://select2.org/) 705

附4.5注意事项 707

附录5 Harbor容器私有镜像仓库安装配置 708

附5.1安装Docker及Docker-Compose 709

附5.1.1Docker的安装 710

附5.1.2Docker-Compose的安装 710

附5.2安装Harbor 711

附5.3Harbor的日常管理 716

附5.3.1用户管理 716

附5.3.2仓库管理及远程复制 717

附5.3.3配置管理 718

附5.3.4项目管理 719

附5.4测试Docker镜像上传和下载 720

附5.4.1更改Docker仓库配置 720

附5.4.2上传镜像到Harbor仓库 721

附5.4.3从Harbor仓库获取指定镜像 722

查看更多关于的内容

出版社其它书籍
本类热门
在线购买PDF电子书
下载此书RAR压缩包