欢迎光临散文网 会员登陆 & 注册

Django + Vue.js实战派――Python Web开发与运维pdf .出版社: 电子工业出版社

2023-06-16 00:12 作者:哇哈哈阔好喝  | 我要投稿

链接: https://pan.baidu.com/s/1y0CB7SwiQKvBmlh1xpYT9w?pwd=9c9u 提取码: 9c9u 复制这段内容后打开百度网盘手机App,操作更方便哦

本书主要介绍了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开发中涉及的知识点;通过大量实例手把手带领读者从需求、开发、集成、代码安全检测、测试、部署上线等环节践行“软件开发运维一体化”的理念。


★★第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  【实战】开发第1个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




★第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  用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篇  部 署 运 维


 


★第12章  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




★第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  【实战】用Docker Compose部署多容器    /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.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




★第15章  运维监控——基于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 作者:弥敦道扛把子 https://www.bilibili.com/read/cv23304610 出处:bilibili


Django + Vue.js实战派――Python Web开发与运维pdf .出版社: 电子工业出版社的评论 (共 条)

分享到微博请遵守国家法律