资源详情

Django + Vue.js实战派――Python Web开发与运维

Django + Vue.js实战派――Python Web开发与运维-电子书下载


作者: 杨永刚
出版社: 电子工业出版社
出版年: 2022-4
页数: 488
定价: 128
ISBN: 9787121430848

下载次数:39


本站推荐

书籍资料

  • 内容简介
  • 作者介绍
  • 书籍目录

《Django + Vue.js实战派——Python Web开发与运维》主要介绍了Django编程开发与运维过程中涉及的方法、技巧和实战经验,共5篇。
“第1篇 基础”介绍用Django开发Web应用的基础知识;“第2篇 后台项目实战”通过开发一个商城系统的后台来融合前面章的知识点;“第3篇 进阶”通过Django Rest Framework框架来设计和实现RESTful风格的接口,以及分层的自动化测试和基于Redis的缓存技术;“第4篇 前台项目实战”使用前后端分离的方式开发商城系统前台,涉及Vue.js、Axios、Vue Router、Vuex、RESTful接口等技术。“第5篇 部署运维”涉及Django的传统部署,Django的Docker部署,持续集成,持续交付和持续部署,运维监控。
《Django + Vue.js实战派——Python Web开发与运维》通过完整的商城系统实例,融合了Django开发中涉及的知识点;通过大量实例手把手带领读者从需求、开发、集成、代码安全检测、测试、部署上线等环节践行“软件开发运维一体化”的理念。
《Django + Vue.js实战派——Python Web开发与运维》适合所有对Django感兴趣的读者阅读学习。

杨永刚
现就职于中国电信新疆公司大数据与AI中心。
微软最有价值专家(MSMVP)\高级工程师\软件工程硕士\系统架构师\省公司创新杰出人才\集团公司B级人才\中央企业先进员工\电信集团认证Hive讲师。
20年的IT开发经验,擅长C#、Python、Java语言,擅长C/S、B/S编程,具有丰富的项目开发经验。先后主持多个集团级、省级大型项目,任技术经理、项目经理。荣获集团科技进步二等奖。

第1篇基础
第1章走进Django 2
1.1了解Django 2
1.1.1Django发展历史和版本 2
1.1.2MVC和MTV模式 3
1.2安装Django 5
1.2.1安装Python虚拟环境 5
1.2.2在Windows中安装Django 7
1.3用VSCode编辑器进行Django开发 8
1.3.1设置中文界面 8
1.3.2安装Python插件 9
1.3.3安装Django插件 9
1.4【实战】开发第1个Django应用 10
1.4.1创建项目 10
1.4.2创建应用 10
1.4.3处理控制器 12
1.4.4处理模板 12
1.4.5运行应用 13
1.5Django项目的运行和调试 13
1.5.1设置运行环境 14
1.5.2调试项目 14
第2章网站的入口——Django的路由和视图 16
2.1认识路由 16
2.1.1路由系统的基本配置 1


2.1.2【实战】用“路由包含”简化项目的复杂度 17
2.1.3解析路由参数 18
2.1.4【实战】用re_path()方法正则匹配复杂路由 20
2.1.5反向解析路由 22
2.2认识视图函数 23
2.2.1什么是视图函数 23
2.2.2视图函数的底层原理 24
2.2.3视图处理函数的使用 27
2.3认识视图类 30
2.3.1什么是视图类 30
2.3.2对比视图函数和视图类 30
2.3.3利用视图类进行功能设计 31
第3章页面展现——基于Django模板 36
3.1Django模板语言——DTL 36
3.1.1模板变量 36
3.1.2模板标签 38
3.1.3模板过滤器 42
3.2模板的高级用法 43
3.2.1模板转义 43
3.2.2【实战】自定义过滤器 44
3.2.3【实战】自定义标签 46
3.3模板继承 49
3.3.1设计母版页 49
3.3.2设计内容页 50
3.3.3设计组件 51
3.4配置模板文件 52
3.4.1理解HTML、CSS和JavaScript 52
3.4.2配置静态文件 53
第4章使用数据库——基于Django模型 55
4.1Django模型 55
4.1.1定义模型 55
4.1.2了解模型中的关系 59
4.1.3配置项目文件 63
4.1.4迁移数据 64
4.2用Django中的ORM操作数据库 66
4.2.1了解ORM 66
4.2.2熟悉QuerySet对象 67
4.2.3查询数据 69
4.2.4新增数据 70
4.2.5更新数据 71
4.2.6删除数据 71
4.2.7操作关联表 71
4.2.8F()函数和Q()函数 77
4.2.9执行原生SQL 78
4.2.10事务处理 81
第5章自动生成界面——基于Django表单 84
5.1HTML表单 84
5.1.1用令牌CSRF保证表单的安全 85
5.1.2【实战】用HTML表单上传文件 86
5.2Django的Form表单 87
5.2.1认识Form表单 87
5.2.2表单数据的校验 93
5.2.3表单数据的获取 97
5.2.4【实战】用Form表单上传文件 98
5.3Django的模型表单 100
5.3.1认识模型表单 100
5.3.2校验模型表单数据 101
5.3.3处理模型表单数据 102
5.4使用AJAX提交表单 103
5.4.1基于jQuery技术实现AJAX 103
5.4.2在AJAX请求中设置令牌csrf_token 104
5.4.3【实战】使用AJAX实现用户登录 105
第6章用户认证 107
6.1初识用户认证 107
6.1.1认识Auth模块 107
6.1.2了解用户权限数据表 109
6.2用户管理 109
6.2.1用户注册 110
6.2.2用户登录 111
6.2.3扩展用户模型 113
6.3【实战】利用用户模型实现用户身份认证及状态保持 114
6.3.1增加视图函数myuser_reg() 114
6.3.2增加视图函数myuser_login() 115
6.3.3用户退出的设置 115
6.3.4用户首页的显示 115
6.4权限管理 117
6.4.1权限的设置 117
6.4.2权限认证的相关方法 117
6.4.3自定义用户权限 118
6.5【实战】用装饰器控制页面权限 119
6.5.1增加权限装饰器 119
6.5.2修改模板文件 120
6.5.3设置项目配置文件 120
6.5.4测试权限 120
6.6中间件技术 121
6.6.1认识Django中间件 122
6.6.2使用Django中间件 123
6.6.3【实战】用中间件简化权限认证 125
第2篇后台项目实战
第7章【实战】开发一个商城系统的后台 128
7.1商城系统后台的设计分析 128
7.1.1需求分析 128
7.1.2架构设计 129
7.1.3数据库模型设计 130
7.2使用Django自带的Admin后台管理系统 131
7.2.1创建商城系统后台项目 131
7.2.2登录Admin后台管理系统 133
7.2.3配置Admin后台管理系统 133
7.3用Bootstrap框架实现商城系统后台 136
7.3.1开发“用户注册”模块 136
7.3.2开发“用户登录”模块 140
7.3.3开发商城系统后台首页面 143
7.3.4开发“用户信息维护”模块 146
7.3.5开发“商品分类管理”模块 156
7.3.6开发“商品信息管理”模块 159
第3篇进阶
第8章接口的设计与实现 168
8.1前后端分离 168
8.1.1了解前后端分离 168
8.1.2为什么要前后端分离 169
8.1.3如何实施前后端分离 171
8.1.4前后端分离的技术栈 171
8.2设计符合标准的RESTful接口 172
8.3序列化和反序列化 174
8.3.1认识序列化和反序列化 174
8.3.2用JSON模块进行数据交互 174
8.3.3用JsonResponse类进行数据交互 175
8.4接口开发——基于DjangoRestFramework框架 176
8.4.1安装DRF框架 177
8.4.2用Serializer类和ModelSerializer类进行序列
化操作 177
8.4.3请求和响应 182
8.4.4【实战】用装饰器@api-view实现视图函数 183
8.4.5【实战】用APIView类实现视图类 185
8.4.6【实战】用Mixins类改进RESTful接口 187
8.4.7【实战】用GenericAPIView类实现视图类 190
8.4.8用视图集ViewSets改进RESTful接口 192
8.4.9分页 197
8.4.10过滤、搜索和排序 198
8.4.11自定义消息格式 202
8.4.12自定义异常格式 207
8.5接口安全机制 209
8.5.1基于DRF框架实现Token认证 209
8.5.2基于DRF框架实现JWT认证 212
8.5.3基于后端技术的跨域解决方案 218
8.6【实战】实现商城系统的接口 220
8.6.1用户相关接口 220
8.6.2商品相关接口 226
8.6.3订单相关接口 233
8.6.4基础接口——“地址信息”接口 241
8.7【实战】利用DRF生成接口文档 243
8.7.1安装依赖 243
8.7.2配置文件 243
8.7.3测试 243
8.8【实战】利用Swagger服务让接口文档更专业 244
8.8.1安装配置django-rest-swagger 244
8.8.2配置视图类 244
8.8.3配置路由 245
8.8.4运行效果 245
第9章分层的自动化测试 246
9.1分层的自动化测试 246
9.1.1单元自动化测试 247
9.1.2接口自动化测试 247
9.1.3用户界面自动化测试 248
9.2单元自动化测试 248
9.2.1认识单元测试框架unittest 248
9.2.2【实战】用unittest进行单元测试 249
9.2.3【实战】用HTMLTestRunner生成HTML报告 251
9.2.4【实战】用Pytest进行单元测试 252
9.2.5【实战】在Django中编写和运行测试用例 255
9.3接口自动化测试 256
9.3.1【实战】进行Postman测试 257
9.3.2【实战】用“Requests+Pytest”实现接口自动化测试 258
9.4用户界面自动化测试 260
9.4.1认识自动化测试Selenium库 260
9.4.2安装Selenium库 260
9.4.3基本使用 261
9.4.4页面元素定位的方法 262
9.4.5Selenium库的高级用法 263
9.4.6【实战】自动化测试商城后台管理系统的登录页面 268
第10章基于Redis的缓存技术 270
10.1为什么需要缓存 270
10.2用Django内置模块实现缓存 270
10.2.1基于数据库方式实现缓存 271
10.2.1缓存视图函数和视图类 271
10.3用DRF框架实现缓存 273
10.3.1用装饰器完成缓存 273
10.3.2用CacheResponseMixin类完成缓存 274
10.4用Redis实现缓存 275
10.4.1搭建Redis环境 275
10.4.2用Django操作Redis 276
10.4.3【实战】用Redis存储session信息 278
第4篇前台项目实战
第11章开发商城系统的前台(接第7章实战) 282
11.1商城系统前台的设计分析 282
11.1.1需求分析 282
11.1.2架构设计 283
11.2前端开发利器——Vue.js框架 284
11.2.1认识Vue.js 284
11.2.2用Vue-CLI脚手架快速搭建项目骨架 284
11.2.3用NPM进行包管理和分发 286
11.2.4用npmrunbuild命令打包项目 287
11.2.5用VisualStdioCode编辑器进行代码开发 287
11.3Vue.js的基本操作 287
11.3.1用插值实现数据绑定 288
11.3.2用computed属性实现变量监听 289
11.3.3用class和style设置样式 290
11.3.4用v-if实现条件渲染 291
11.3.5用v-for实现列表渲染 292
11.3.6用“v-on:”或“@”实现事件绑定 293
11.3.7用v-model实现双向数据绑定 294
11.4用VueRouter库实现路由管理 295
11.4.1了解VueRouter库 295
11.4.2基本用法 296
11.5用Axios库实现数据交互 297
11.5.1了解Axios库 297
11.5.2基本用法 297
11.6用Vuex实现状态管理 299
11.6.1基本用法 299
11.6.2用mutations和actions操作变量 301
11.6.3用getters获取变量 303
11.6.4用扩展运算符简化编写 304
11.7【实战】用Vue.js开发商城系统的前台 304
11.7.1核心技术点介绍 305
11.7.2公共页面开发 307
11.7.3“商品首页”模块开发 313
11.7.4“商品列表”模块开发 321
11.7.5“商品详情”模块开发 328
11.7.6“用户注册”模块开发 332
11.7.7“用户登录”模块开发 335
11.7.8“购物车管理”模块开发 339
11.7.9“订单管理”模块开发 344
11.7.10“个人中心”模块开发 348
第5篇部署运维
第12章Django的传统部署 358
12.1部署前的准备工作 358
12.1.1准备虚拟机 358
12.1.2安装Python3.8.2 359
12.1.3安装虚拟环境和Django 359
12.2使用MySQL数据库 361
12.2.1安装MySQL数据库 361
12.2.2配置MySQL数据库 362
12.2.3客户端连接MySQL数据库 363
12.2.4【实战】生成商城系统的数据库和表 365
12.3用uWSGI进行部署 365
12.3.1WSGI、uwsgi和uWSGI的关系 365
12.3.2安装uwsgi软件 366
12.3.3启动并测试uwsgi 367
12.3.4详解配置文件 367
12.3.5常用命令 368
12.3.6【实战】部署商城系统后台 368
12.4用Gunicorn进行部署 370
12.4.1安装Gunicorn 370
12.4.2启动服务并测试 371
12.4.3编写配置文件 371
12.4.4【实战】部署商城系统接口 372
12.5用Supervisor管理进程 373
12.5.1安装和配置 373
12.5.2了解配置文件 374
12.5.3常用命令 374
12.5.4Web监控界面 375
12.5.5【实战】用Supervisor管理进程 376
12.6用Nginx进行代理 377
12.6.1正向代理和反向代理 377
12.6.2为什么用了uWSGI还需要用Nginx 378
12.6.3安装Nginx 378
12.6.4了解配置文件 379
12.6.5【实战】部署商城系统后台 381
12.6.6【实战】部署商城系统接口 382
12.6.7【实战】部署商城系统前台 383
12.6.8【实战】利用Nginx负载均衡部署商城系统接口 384
第13章Django的Docker部署 388
13.1介绍Docker 388
13.1.1为什么要使用Docker 388
13.1.2虚拟机和容器的区别 390
13.1.3了解Docker的镜像、容器和仓库 390
13.2安装并启动Docker 392
13.2.1安装Docker 392
13.2.2启动Docker 393
13.3操作Docker镜像 394
13.3.1搜索镜像 394
13.3.2获取镜像 394
13.3.3查看镜像 395
13.3.4导入/导出镜像 396
13.3.5配置国内镜像仓库 396
13.4操作Docker容器 397
13.4.1启动容器 397
13.4.2进入容器 399
13.4.3停止容器 400
13.4.4删除容器 400
13.4.5复制容器中的文件 401
13.4.6查看容器中的日志 401
13.5【实战】用Docker部署MySQL 401
13.5.1拉取镜像 401
13.5.2创建容器 402
13.5.3进入MySQL容器 402
13.6【实战】用Docker方式部署Redis 403
13.6.1拉取Redis 403
13.6.2创建并启动Redis容器 404
13.7制作自己的镜像——编写Dockerfile文件 404
13.7.1语法规则 404
13.7.2构建Nginx镜像 405
13.8将镜像推送到私有仓库Harbor中 407
13.8.1搭建Harbor私有仓库 407
13.8.2安装Docker-Compose 407
13.8.3安装Harbor 407
13.8.4登录Harbor 409
13.8.5配置、使用Harbor 409
13.9【实战】用Docker部署商城系统的接口 411
13.9.1拉取并启动MySQL容器 411
13.9.2创建接口镜像并启动容器 411
13.9.3拉取并启动Nginx容器 413
13.10【实战】用DockerCompose部署多容器 416
13.10.1编排容器文件 416
13.10.2构建和启动 417
第14章持续集成、持续交付与持续部署 419
14.1了解持续集成 419
14.2了解持续交付 419
14.3了解持续部署 420
14.4代码版本管理——基于码云 420
14.4.1Git中的4个概念——工作区、暂存区、本地仓库、远程仓库 420
14.4.2克隆远程库到本地库 421
14.5进行持续集成——基于Jenkins 422
14.5.1安装Jenkins 422
14.5.2【实战】商城系统接口的持续构建 424
14.6进行代码质量扫描——基于SonarQube 429
14.6.1安装SonarQube 430
14.6.2【实战】自动化代码质量扫描 431
14.7用Jenkins进行持续部署——基于SSH 436
14.7.1安装插件 436
14.7.2配置PublishoverSSH项 436
14.7.3配置SSH免密登录 437
14.7.4配置SSHServer 438
14.7.5配置“构建” 438
14.7.6立即构建 440
14.8进行自动化测试——基于“Jenkins+Allure+Pytest” 440
14.8.1安装 440
14.8.2配置“构建” 442
14.8.3配置“构建后操作” 443
14.8.4立即构建 444
14.8.5常见问题的处理 445
14.9【实战】用Jenkins流水线部署商城系统接口 446
14.9.1流水线操作的语法 446
14.9.2部署商城系统接口 447
第15章运维监控——基于Prometheus+Grafana 454
15.1认识Prometheus 454
15.1.1Prometheus的核心组件 455
15.1.2安装并启动 455
15.1.3查看监控指标数据和图表 456
15.1.4了解Prometheus的主配置文件 456
15.2认识Grafana 457
15.2.1安装 458
15.2.2配置数据源 458
15.2.3导入模板 459
15.3监控主机和服务——基于Prometheus的组件Exporter 460
15.3.1监控主机 460
15.3.2监控MySQL数据库 462
15.3.3监控Redis 464
15.4实现邮件报警——基于Prometheus的组件Altermanager 465
15.4.1安装配置Alertmanager 465
15.4.2了解配置文件 466
15.4.3设置报警规则 467
15.5容器监控报警——基于Prometheus的组件cAdvisor 468
15.5.1安装cAdvisor 469
15.5.2启动容器 469
15.5.3导入模板 469
15.6对Django应用进行监控 469
15.6.1安装django_prometheus包 470
15.6.2配置settings.py文件 470
15.6.3配置路由并访问 470
15.6.4配置Prometheus 471
15.6.5添加模板 471