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

副标题:无

作   者:杨永刚

分类号:

ISBN:9787121430848

微信扫一扫,移动浏览光盘

简介

目录

★★第1篇 基 础

★第1章 走进Django 2
●1.1 了解Django 2
1.1.1 Django发展历史和版本 2
1.1.2 MVC和MTV模式 3
●1.2 安装Django 5
1.2.1 安装Python虚拟环境 5
1.2.2 在Windows中安装Django 7
●1.3 用VS Code编辑器进行Django开发 8
1.3.1 设置中文界面 8
1.3.2 安装Python插件 9
1.3.3 安装Django插件 9
●1.4 【实战】开发 个Django应用 10
1.4.1 创建项目 10
1.4.2 创建应用 10
1.4.3 处理控制器 12
1.4.4 处理模板 12
1.4.5 运行应用 13
●1.5 Django项目的运行和调试 13
1.5.1 设置运行环境 14
1.5.2 调试项目 14
★第2章 网站的入口――Django的路由和视图 16
●2.1 认识路由 16
2.1.1 路由系统的基本配置 16
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.1 Django模板语言――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.1 Django模型 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.8 F()函数和Q()函数 77
4.2.9 执行原生SQL 78
4.2.10 事务处理 81
★第5章 自动生成界面――基于Django表单 84
●5.1 HTML表单 84
5.1.1 用令牌CSRF保证表单的安全 85
5.1.2 【实战】用HTML表单上传文件 86
●5.2 Django的Form表单 87
5.2.1 认识Form表单 87
5.2.2 表单数据的校验 93
5.2.3 表单数据的获取 97
5.2.4 【实战】用Form表单上传文件 98
●5.3 Django的模型表单 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 接口开发――基于Django Rest Framework框架 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.5 Selenium库的 用法 263
9.4.6 【实战】自动化测试商城后台管理系统的登录页面 268
★ 0章 基于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篇 前台项目实战

★ 1章 开发商城系统的前台(接第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 用npm run build命令打包项目 287
11.2.5 用Visual Stdio Code编辑器进行代码开发 287
●11.3 Vue.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 用Vue Router库实现路由管理 295
11.4.1 了解Vue Router库 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篇 部 署 运 维

★ 2章 Django的传统部署 358
●12.1 部署前的准备工作 358
12.1.1 准备虚拟机 358
12.1.2 安装Python 3.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.1 WSGI、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.4 Web监控界面 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
★ 3章 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 【实战】用Docker Compose部署多容器 416
13.10.1 编排容器文件 416
13.10.2 构建和启动 417
★ 4章 持续集成、持续交付与持续部署 419
●14.1 了解持续集成 419
●14.2 了解持续交付 419
●14.3 了解持续部署 420
●14.4 代码版本管理――基于码云 420
14.4.1 Git中的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 配置Publish over SSH项 436
14.7.3 配置SSH免密登录 437
14.7.4 配置SSH Server 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
★ 5章 运维监控――基于Prometheus + Grafana 454
●15.1 认识Prometheus 454
15.1.1 Prometheus的核心组件 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

已确认勘误

次印刷

页码 勘误内容 提交人 修订印次

Django + Vue.js实战派――Python Web开发与运维
    • 名称
    • 类型
    • 大小

    光盘服务联系方式: 020-38250260    客服QQ:4006604884

    意见反馈

    14:15

    关闭

    云图客服:

    尊敬的用户,您好!您有任何提议或者建议都可以在此提出来,我们会谦虚地接受任何意见。

    或者您是想咨询:

    用户发送的提问,这种方式就需要有位在线客服来回答用户的问题,这种 就属于对话式的,问题是这种提问是否需要用户登录才能提问

    Video Player
    ×
    Audio Player
    ×
    pdf Player
    ×
    Current View

    看过该图书的还喜欢

    some pictures

    解忧杂货店

    东野圭吾 (作者), 李盈春 (译者)

    loading icon