您的浏览器不支持JavaScript,请开启后继续
Python Web开发手册:基础·实战·强化

Python Web开发手册:基础·实战·强化

  • 作者
  • 明日科技 编著

《Python Web开发手册:基础·实战·强化》是“计算机科学与技术手册系列”图书之一,该系列图书内容全面,以理论联系实际、能学到并做到为宗旨,以技术为核心,以案例为辅助,引领读者全面学习基础技术、代码编写方法和具体应用项目。旨在为想要进入相应领域或者已经在该领域深耕多年的技术人员提供新而全的技术性内容及案例。 本书以Python语言为载体讲解Web开发,分为4篇...


  • ¥128.00

ISBN: 978-7-122-40123-6

版次: 1

出版时间: 2022-02-01

图书信息

ISBN:978-7-122-40123-6

语种:汉文

开本:16

出版时间:2022-02-01

装帧:平

页数:391

内容简介

《Python Web开发手册:基础·实战·强化》是“计算机科学与技术手册系列”图书之一,该系列图书内容全面,以理论联系实际、能学到并做到为宗旨,以技术为核心,以案例为辅助,引领读者全面学习基础技术、代码编写方法和具体应用项目。旨在为想要进入相应领域或者已经在该领域深耕多年的技术人员提供新而全的技术性内容及案例。
本书以Python语言为载体讲解Web开发,分为4篇,分别是:Web基础篇、Flask框架实战篇、Django框架实战篇和项目强化篇,共30章,内容由浅入深,循序渐进,使读者在打好基础的同时逐步提升。本书内容包含了Web开发必备的基础知识和数据库相关知识,以较大篇幅讲解了目前应用较广的两个框架(Flask和Django)和相应的14个关键案例,同时配备了两个大型项目,使读者能够同步做出产品,达到学到并且做到的目的。
本书适合Python Web开发从业者、Python开发程序员、Python开发以及人工智能的爱好者阅读,也可供高校计算机相关专业师生参考。

作者简介

明日科技是一家以软件开发和教育为主的高科技公司,为国家高新技术企业和双软认证企业。开发的系统有铁路多媒体查询系统、长春电子地图、天气预报系统、矿山瓦斯报警系统等软件产品。开发的图书有《程序开发范例宝典》、《软件开发视频大讲堂》、《软件开发1200例》、《零基础学系列》、《项目开发实战入门》等多个系列图书,多个品种荣获“全行业**畅销书”奖项,《软件开发视频大讲堂》、《零基础学系列》系列是目前市场上畅销的专业基础编程类丛书。

编辑推荐

1.本书内容极其丰富、文字通俗易懂,适合入门并得到迅速提高。 2.本书详细讲解关键框架flask和Django。 3.本书案例丰富、项目典型,步骤详细,手把手教学,查阅方便。 4.本书配备相关代码资源,可直接调试。 5.本书配备工程师宝典APP电子书(纸电同步),讲课视频,资源库、社区技术支持、QQ在线等服务。

图书前言

从工业4.0到“十四五”规划,我国信息时代正式踏上新的阶梯,电子设备已经普及,在人们的日常生活中随处可见。信息社会给人们带来了极大的便利,信息捕获、信息处理分析等在各个行业得到普遍应用,推动整个社会向前稳固发展。
计算机设备和信息数据的相互融合,对各个行业来说都是一次非常大的进步,已经渗入到工业、农业、商业、军事等领域,同时其相关应用产业也得到一定发展。就目前来看,各类编程语言的发展、人工智能相关算法的应用、大数据时代的数据处理和分析都是计算机科学领域各大高校、各个企业在不断攻关的难题,是挑战也是机遇。因此,我们策划编写了“计算机科学与技术手册系列”图书,旨在为想要进入相应领域的初学者或者已经在该领域深耕多年的从业者提供新而全的技术性内容,以及丰富、典型的实战案例。
目前,国内各大企业对Python人才的需求急剧上升,薪资水平也节节攀升,就业前景极其广阔。迄今为止,业内几乎所有大中型互联网企业都在使用Python,如:豆瓣、知乎、百度、腾讯、拉勾网、美团、YouTube、Facebook、Google和Yahoo等。很多知名的企业网站都是使用Python的Web框架进行开发的,因此熟练掌握Web框架对于Python语言的学习者来说也极其重要。
本书内容
全书共分为30章,主要通过“Web基础篇(3章)+ Flask框架实战篇(12章)+Django框架实战篇(12章) + 项目强化篇(3章)”4大维度一体化进行讲解,具体的知识结构如下图所示。
本书中主要介绍了进行Web开发的两大常用框架Flask和Django框架。读者可以根据需要选择性学习。
本书特色
1.突出重点、学以致用
书中每个知识点都结合了简单易懂的示例代码以及非常详细的注释信息,力求能够让读者快速理解所学知识,提高学习效率,缩短学习路径。
2.提升思维、综合运用
本书以知识点综合运用的方式,带领读者学习各种趣味性较强的Python Web开发案例,让读者不断开拓Python Web开发思维,还可以快速提高对知识点的综合运用能力,让读者能够回顾以往所学的知识点,并结合新的知识点进行综合应用。
3.综合技术、实际项目
本书在项目强化篇中提供了两个贴近生活应用的项目,力求通过实际应用使读者更容易地掌握Python Web开发的流程。Python Web开发都是根据实际开发经验总结而来,包含了在实际开发中所遇到的各种问题。项目结构清晰、扩展性强,读者可根据个人需求进行扩展开发。
4.精彩栏目、贴心提示
本书根据实际学习的需要,设置了“注意”“说明”等许多贴心的小栏目,辅助读者轻松理解所学知识,规避编程陷阱。
本书由明日科技的Python开发团队策划并组织编写,主要编写人员有李再天、王国辉、高春艳、李磊、冯春龙、王小科、赛奎春、申小琦、赵宁、张鑫、周佳星、杨柳、葛忠月、李春林、宋万勇、张宝华、杨丽、刘媛媛、庞凤、胡冬、梁英、谭畅、何平、李菁菁、依莹莹、宋磊等。在编写本书的过程中,我们本着科学、严谨的态度,力求精益求精,但疏漏之处在所难免,敬请广大读者批评指正。
感谢您阅读本书,希望本书能成为您编程路上的领航者。
祝您读书快乐!

编著者

目录

第1篇 Web基础篇
第1章 Web基础
1.1 Web概述 3
1.1.1 Web的发展历程 3
1.1.2 Web程序工作原理 4
1.2 Web框架简介 5
1.2.1 ORM简介 5
1.2.2 模板引擎 5
1.3 常用的Python Web框架 6
1.3.1 Flask 6
1.3.2 Django 6
1.3.3 Tornado 6
1.4 搭建Web开发环境 6
1.4.1 创建虚拟环境 6
1.4.2 pip包管理工具 7
1.4.3 切换镜像源 9

第2章 前端基础
2.1 HTML基础 12
2.1.1 HTML简介 12
【实例2.1】第一个HTML页面 12
2.1.2 标签和元素 13
2.1.3 表单 15
2.2 CSS基础 18
2.2.1 基础知识 18
2.2.2 嵌入CSS样式 19
【实例2.2】添加CSS样式 19
【实例2.3】使用外部样式表 21
2.3 JavaScript基础 21
2.3.1 基本语法 21
2.3.2 使用JavaScript 23
【实例2.4】弹出对话框 23
【实例2.5】使用外部JavaScript文件方式修改实例2.4 24
2.4 jQuery基础 24
2.4.1 使用jQuery 25
2.4.2 基本语法 25
2.4.3 选择器 26
【实例2.6】隐藏

标签 26 2.4.4 触发事件 28 2.4.5 内容和属性 29 【实例2.7】检测用户填写的用户名和密码是否符合要求 29 2.5 Bootstrap框架 31 2.5.1 安装Bootstrap 31 2.5.2 基本使用 32 【实例2.8】创建一个全屏幕宣传页面 32 2.6 综合案例——导航栏菜单 33 2.7 实战练习 34 第3章 MySQL的使用 3.1 MySQL的安装及配置 36 3.1.1 MySQL简介 36 3.1.2 安装MySQL 36 3.1.3 配置MySQL 37 3.2 库的相关操作 38 3.2.1 创建数据库 38 3.2.2 查看数据库 39 3.2.3 删除数据库 39 3.3 表的相关操作 40 3.3.1 创建数据表 40 3.3.2 查看数据表 41 3.3.3 修改表结构 42 3.3.4 删除数据表 42 3.4 数据类型 43 3.4.1 数字类型 43 3.4.2 字符串类型 44 3.4.3 日期和时间类型 45 3.5 数据的增查改删 45 3.5.1 增加数据 45 3.5.2 查询数据 46 3.5.3 修改数据 49 3.5.4 删除数据 49 3.6 PyMySQL操作数据库 50 3.6.1 安装PyMySQL 50 3.6.2 连接数据库 50 3.6.3 游标对象 51 【实例3.1】向mrsoft数据库中添加books图书表 52 3.6.4 操作数据库 53 【实例3.2】向books图书表中添加图书数据 53 3.7 ORM模型 54 3.7.1 ORM简介 54 3.7.2 常用的ORM库 55 3.8 综合案例——从数据库查询并筛选数据 55 3.8.1 设计SQL 55 3.8.2 实现过程 55 3.9 实战练习 56 第2篇 Flask框架实战篇 第4章 Flask快速应用 4.1 Flask基础 59 4.1.1 Flask简介 59 4.1.2 安装Flask 59 4.2 使用Flask输出Hello World!/?60 4.2.1 第一个Flask程序 60 【实例4.1】输出Hello World! 60 4.2.2 开启debug 60 4.3 路由 61 4.3.1 变量规则 61 【实例4.2】根据不同的用户名参数,输出相应的用户信息 61 4.3.2 构造URL 62 4.3.3 HTTP 方法 62 4.3.4 静态文件 63 4.4 综合案例——模拟登录 63 4.5 实战练习 64 第5章 Flask的请求与响应 5.1 请求参数 66 5.1.1 GET请求 66 【实例5.1】获取GET请求参数 66 5.1.2 POST请求 67 【实例5.2】获取表单提交信息 67 5.2 文件上传 68 【实例5.3】实现上传用户图片功能 68 5.3 钩子函数的应用 70 【实例5.4】使用请求钩子,在执行视图函数前后执行相应的函数 71 5.4 接收响应 72 5.5 响应的格式 72 5.5.1 MIME类型 72 5.5.2 JSON数据 73 5.6 Flask会话 73 5.6.1 Cookie对象 74 【实例5.5】使用Cookie判断用户是否登录 74 5.6.2 Session对象 76 5.7 综合案例——用户登录 77 5.8 实战练习 77 第6章 Jinja2模板引擎 6.1 Flask使用Jinja2模板引擎 80 6.1.1 Jinja2简介 80 6.1.2 渲染模板 80 【实例6.1】渲染首页模板 80 6.2 模板中传递参数 82 6.3 模板的控制语句 83 6.3.1 if语句 83 6.3.2 for语句 83 6.3.3 模板上下文 83 【实例6.2】使用Session判断用户是否登录 84 6.4 Jinja2的过滤器 85 6.4.1 常用的过滤器 85 6.4.2 自定义过滤器 85 【实例6.3】Flask应用对象的add_template_filter方法定义过滤器 85 【实例6.4】使用app.template_filter()装饰器定义过滤器 86 6.5 宏的应用 87 6.5.1 宏的定义 87 6.5.2 宏的导入 87 6.5.3 include的使用 87 6.6 模板的继承 87 【实例6.5】使用子模板继承父模板 88 6.7 提示信息 90 【实例6.6】使用flash闪现用户登录成功或失败的消息 90 6.8 综合案例——自定义错误页面 91 6.8.1 需求分析 92 6.8.2 实现过程 92 6.9 实战练习 93 第7章 Flask视图与蓝图 7.1 绑定视图函数 95 7.1.1 使用app.route 95 7.1.2 使用add_url_rule 95 7.2 类视图 96 7.2.1 标准类视图 96 7.2.2 基于调度方法的类视图 98 7.3 装饰器 99 7.3.1 装饰器的定义 99 7.3.2 基本应用 99 7.3.3 带参函数使用装饰器 101 7.4 蓝图 102 7.4.1 简介 103 7.4.2 使用蓝图 103 【实例7.1】使用蓝图创建前台和后台应用 103 7.5 表单 104 7.5.1 CSRF 104 7.5.2 表单类 105 7.6 综合案例——验证用户登录 106 7.7 实战练习 108 第8章 Flask操作数据库 8.1 常用扩展 110 8.1.1 Flask-SQLAlchemy扩展 110 8.1.2 Flask-Migrate扩展 112 8.1.3 Flask-Script扩展 114 8.2 管理数据库 117 8.2.1 连接数据库 117 8.2.2 定义数据模型 118 8.2.3 定义关系 119 8.3 增查改删 121 8.3.1 创建数据 121 8.3.2 读取数据 121 8.3.3 更新数据 123 8.3.4 删除数据 123 8.4 综合案例——创建数据表 123 8.4.1 案例说明 123 8.4.2 实现案例 123 8.5 实战练习 125 第9章 【案例】Flask_SQLAlchemy筛选网易云免费课程 9.1 案例效果预览 126 9.2 案例准备 127 9.3 业务流程 127 9.4 实现过程 127 9.4.1 创建数据表 128 9.4.2 设置过滤器 129 9.5 关键技术 132 第10章 【案例】Splitlines解析数据库文本中的换行内容 10.1 案例效果预览 134 10.2 案例准备 134 10.3 业务流程 135 10.4 实现过程 135 10.4.1 项目结构 135 10.4.2 安装模块 135 10.4.3 连接数据库 135 10.4.4 业务逻辑 136 10.4.5 创建父模板 136 10.4.6 创建详情文件 137 10.5 关键技术 138 第11章 【案例】Flask_Login用户登录校验 11.1 案例效果预览 139 11.2 案例准备 140 11.3 业务流程 140 11.4 实现过程 140 11.4.1 登录与权限校验 140 11.4.2 更改密码 145 11.4.3 登录成功后的处理 148 11.5 关键技术 150 第12章 【案例】ECharts显示折线图 12.1 案例效果预览 153 12.2 案例准备 153 12.3 业务流程 154 12.4 实现过程 154 12.4.1 安装依赖 154 12.4.2 连接数据库 154 12.4.3 业务逻辑 155 12.4.4 渲染页面 155 12.5 关键技术 160 第13章 【案例】员工信息审核 13.1 案例效果预览 161 13.2 案例准备 162 13.3 业务流程 162 13.4 实现过程 162 13.5 关键技术 166 第14章 【案例】网页底部Tab栏设计 14.1 案例效果预览 167 14.2 案例准备 167 14.3 业务流程 168 14.4 实现过程 168 14.4.1 设置路由 168 14.4.2 创建父模板 168 14.4.3 继承父模板 169 14.5 关键技术 170 第15章 【案例】多条件查询的使用 15.1 案例效果预览 171 15.2 案例准备 172 15.3 业务流程 172 15.4 实现过程 172 15.4.1 概述 172 15.4.2 筛选酒店信息 173 15.4.3 学生选课系统 175 15.5 关键技术 176 第3篇 Django框架实战篇 第16章 Django快速应用 16.1 使用Django框架 179 16.1.1 新版本特性 179 16.1.2 安装Django 179 16.2 第一个Django项目 179 【实例16.1】使用命令行创建项目 179 16.3 创建Django应用 180 16.4 URL组成部分 182 16.5 路由 182 16.5.1 路由形式 182 【实例16.2】定义路由并创建路由函数 183 16.5.2 include的使用 184 16.6 管理后台 185 16.7 综合案例——Hello Django 187 16.8 实战练习 189 第17章 Django模板引擎 17.1 DTL介绍 191 17.1.1 DTL简介 191 17.1.2 渲染模板 191 【实例17.1】创建并渲染模板 191 17.1.3 模板路径 193 17.2 模板变量 193 17.3 常用标签 194 17.4 过滤器 197 17.4.1 常用过滤器 197 17.4.2 自定义过滤器 199 17.5 简化模板 200 17.5.1 引入模板 200 17.5.2 继承模板 201 17.6 加载静态文件 202 17.7 综合案例——时间过滤器 202 17.8 实战练习 204 第18章 Django视图与表单 18.1 视图简介 206 18.1.1 视图函数 206 【实例18.1】创建获取当前日期的视图函数 206 18.1.2 视图类 206 18.2 请求装饰器 210 18.3 请求与响应 210 18.3.1 请求对象 211 18.3.2 响应对象 211 18.4 重定向 212 18.5 自定义错误页面 213 18.6 使用表单 214 18.6.1 表单的基本使用 214 18.6.2 验证数据 215 18.7 ModelForm 217 18.7.1 使用方法 217 18.7.2 字段类型 219 18.7.3 表单验证 220 18.7.4 save()方法 221 18.7.5 字段选择 222 18.8 文件上传 222 18.9 综合案例——用户注册 224 18.10 实战练习 226 第19章 Django模型与数据库 19.1 数据库操作 228 19.2 ORM模型 228 19.2.1 添加数据模型 229 19.2.2 数据迁移 230 19.2.3 数据API 231 19.3 多关联模型 233 19.3.1 一对一 233 19.3.2 多对一 235 19.3.3 多对多 238 19.4 定制管理后台 241 19.4.1 ModelAdmin.fields 241 19.4.2 ModelAdmin.fieldset 242 19.4.3 ModelAdmin.list_display 244 19.4.4 ModelAdmin.list_display_links 246 19.4.5 ModelAdmin.list_editable 246 19.4.6 ModelAdmin.list_filter 247 19.5 综合案例——使用模型操作数据库 250 19.6 实战练习 252 第20章 Django缓存 20.1 Session会话 254 20.1.1 启用会话 254 20.1.2 配置会话引擎 254 20.1.3 常用方法 255 20.1.4 自动登录 256 【实例20.1】使用会话实现登录功能 256 20.1.5 退出登录 259 20.2 Memcached缓存系统 259 20.3 Redis数据库 261 20.4 用户权限 263 20.4.1 用户对象 264 20.4.2 权限和分组 266 20.5 综合案例——登录验证 268 20.6 实战练习 268 第21章 【案例】Celery异步发送验证邮件 21.1 案例效果预览 269 21.2 案例准备 269 21.3 业务流程 270 21.4 实现过程 270 21.4.1 数据迁移 270 21.4.2 邮箱配置 271 21.4.3 设置路由 272 21.4.4 前端页面 272 21.4.5 业务逻辑 273 21.4.6 异步任务 274 21.4.7 启动项目 275 21.5 关键技术 275 第22章 【案例】自定义Admin命令 22.1 案例效果预览 276 22.2 案例准备 276 22.3 业务流程 277 22.4 实现过程 277 22.4.1 定义命令 277 22.4.2 项目日志 278 22.5 关键技术 281 第23章 【案例】Channels实现Web Socket聊天室 23.1 案例效果预览 282 23.2 案例准备 283 23.3 业务流程 283 23.4 实现过程 283 23.4.1 安装Channels 283 23.4.2 创建APP 284 23.4.3 配置模板 284 23.4.4 添加路由 285 23.4.5 配置Channels路由 285 23.4.6 完成WebSocket 287 23.4.7 升级为异步执行 287 23.5 关键技术 290 第24章 【案例】Paginator实现数据分页 24.1 案例效果预览 291 24.2 案例准备 291 24.3 业务流程 292 24.4 实现过程 292 24.4.1 添加路由 292 24.4.2 分页逻辑 292 24.4.3 渲染模板 293 24.4.4 运行程序 294 24.5 关键技术 294 第25章 【案例】Ajax多级下拉框联动 25.1 案例效果预览 296 25.2 案例准备 296 25.3 业务流程 296 25.4 实现过程 297 25.4.1 匹配路由 297 25.4.2 添加模板 297 25.4.3 业务逻辑 298 25.4.4 关闭CSRF防护 298 25.5 关键技术 299 第26章 【案例】Haystack站内全局搜索引擎 26.1 案例效果预览 301 26.2 案例准备 301 26.3 业务流程 302 26.4 实现过程 302 26.4.1 准备环境 302 26.4.2 注册模块 302 26.4.3 配置搜索引擎 303 26.4.4 业务逻辑 304 26.4.5 渲染模板 304 26.5 关键技术 306 第27章 【案例】Message消息提示 27.1 案例效果预览 307 27.2 案例准备 307 27.3 业务流程 307 27.4 实现过程 308 27.4.1 配置文件 308 27.4.2 消息引擎 309 27.4.3 添加路由 309 27.4.4 业务逻辑 309 27.4.5 渲染模板 310 27.5 关键技术 311 第4篇 项目强化篇 第28章 基于Flask框架的51商城 28.1 系统需求分析 314 28.2 系统功能设计 314 28.2.1 系统功能结构 314 28.2.2 系统业务流程 314 28.2.3 系统预览 315 28.3 系统开发必备 319 28.3.1 系统开发环境 319 28.3.2 文件夹组织结构 319 28.4 数据库设计 320 28.4.1 数据库概要说明 320 28.4.2 数据表模型 320 28.4.3 数据表关系 322 28.5 会员注册模块设计 323 28.5.1 会员注册模块概述 323 28.5.2 会员注册页面 323 28.5.3 验证并保存注册信息 327 28.6 会员登录模块设计 328 28.6.1 会员登录模块概述 328 28.6.2 创建会员登录页面 328 28.6.3 保存会员登录状态 331 28.6.4 会员退出功能 331 28.7 首页模块设计 332 28.7.1 首页模块概述 332 28.7.2 显示最新上架商品 333 28.7.3 显示打折商品 334 28.7.4 显示热门商品 335 28.8 购物车模块 336 28.8.1 购物车模块概述 336 28.8.2 显示商品详细信息 336 28.8.3 添加购物车 338 28.8.4 查看购物车 339 28.8.5 保存订单 340 28.8.6 查看订单 341 28.9 后台功能模块设计 341 28.9.1 后台登录模块设计 341 28.9.2 商品管理模块设计 342 28.9.3 销量排行榜模块设计 343 28.9.4 会员管理模块设计 343 28.9.5 订单管理模块设计 344 第29章 基于Django框架的综艺之家管理系统 29.1 系统需求分析 346 29.1.1 系统概述 346 29.1.2 系统可行性分析 346 29.1.3 系统用户角色分配 346 29.1.4 功能性需求分析 347 29.1.5 非功能性需求分析 347 29.2 系统功能设计 347 29.2.1 系统功能结构 347 29.2.2 系统业务流程 347 29.2.3 系统预览 348 29.3 系统开发必备 349 29.3.1 系统开发环境 349 29.3.2 文件夹组织结构 350 29.4 数据库设计 350 29.4.1 数据库概要说明 350 29.4.2 数据表模型 350 29.4.3 数据表关系 352 29.5 综艺管理模块设计 352 29.5.1 实现后台录入综艺信息和综艺视频的功能 353 29.5.2 前台首页功能 354 29.5.3 综艺详情页功能 356 29.6 搜索功能模块设计 359 29.7 分类功能模块设计 361 29.8 社交管理模块设计 364 29.8.1 安装django-spirit模块 364 29.8.2 发帖和回帖功能 365 29.8.3 论坛管理后台功能 366 29.9 可视化展示模块设计 367 29.9.1 ECharts开源可视化图表库基本使用 367 29.9.2 AJAX异步加载图表数据 369 第30章 Web项目部署 30.1 常见的部署方式 374 30.1.1 WSGI 374 30.1.2 Gunicorn 374 30.1.3 Nginx 374 30.1.4 supervisor 375 30.2 云服务器配置 375 30.2.1 常用的云服务器 375 30.2.2 pip包管理工具 377 30.2.3 虚拟环境 378 30.3 使用Gunicorn 379 30.3.1 使用参数启动Gunicorn 379 30.3.2 加载配置文件启动Gunicorn 381 30.4 使用Nginx 381 30.4.1 安装Nginx 381 30.4.2 Nginx的启停 382 30.4.3 配置文件 382 30.4.4 静态文件 383 30.4.5 代理服务器 383 30.5 使用supervisor 384 30.5.1 配置文件 385 30.5.2 常用命令 386 30.5.3 启动程序 386 附录 附录1 Flask框架常用类和函数 388 附录2 Flask框架请求对象提供的常用属性或方法 388 附录3 Flask框架响应对象提供的属性或方法 389 附录4 Flask框架常用扩展 389 附录5 Django框架常用命令 389 附录6 Django框架setting.py常用配置 390 附录7 Django框架ORM常用API 390

发送电子邮件联系我们