高等教育 > 计算机类
Python Web 企业级项目开发教程(Django 版)(第2版)
书号:9787113314125 套系名称:应用型人才培养系列教材
作者:黑马程序员 出版日期:2024-08-01
定价:58.00 页码 / 开本: /16
策划编辑:翟玉峰 责任编辑:翟玉峰 徐盼欣
适用专业:计算机类 适用层次:高等教育
最新印刷时间:2024-08-01
资源下载
教学课件
教学素材
习题答案(暂无)
教学案例
教学设计
教学视频(暂无)
内容简介
前言
目录
作者介绍
图书特色
本书在 Windows 上基于 Python 3.12 与 Django 5.0 对 Django 框架相关的知识进行讲解,并以此为基础利用 Django 框架实现一个完整的电商平台。本书分为 12 章,其中第 1 章主要简单介绍 Django 框架,包括 Django 框架的安装,以及使用该框架创建 Django 项目;第 2 ~ 6 章介绍了使用 Django 框架的核心知识,包括路由系统、模型、模板、视图、身份验证系统;第 7 ~ 12 章从需求与前期准备着手,逐步实现完整的 Django Web 项目。 本书附有源代码、测试题、教学课件等资源,为帮助初学者更好地学习本书中的内容,还提供了在线答疑。 本书适合作为高等学校计算机相关专业 Django 框架课程或 Python 进阶课程的专用教材,也可供具有 Python 语言基础的读者自学。
随着互联网的不断发展,Web应用的需求也越来越多样化和复杂化。Python作为一种简单而强大的编程语言,以其丰富的库和框架而闻名于世。而在众多 Python Web开发框架中,Django作为一个高效、易用的开源Web框架,为Python开发者提供了快速搭建Web应用的便利性和灵活性。 编写思路 Django是一个基于Python的开源Web应用框架,功能强大且易于使用Web开发框架,它提供了一套强大的工具和功能,用于快速开发高质量、高效率的Web应用程序。Django的作用在于简化Web开发过程,通过提供可重用的组件和丰富的功能,使开发者能够专注于业务逻辑的实现,从而加速项目的开发周期并提高代码质量。通过学习本书,读者将深入了解Django的各种功能和组件,从而能够更加灵活和高效地开发Web应用程序。 在章节设置上,本书每章采用“语法介绍+要点分析+代码示例”的模式,既有普适性介绍,又抓取要点、突出重点,同时提供充足实例,保证语法学习之余的实际应用;在知识配置上,本书涵盖Django的路由系统、模型、模板、视图和身份验证系统,同时配置完整Web实战项目,通过学习本书,读者可全面掌握Django框架的设计模式与相关知识,具备使用Django框架快速开发Web项目的能力。 本书在编写的过程中,针对高等学校计算机相关专业教学要求,结合党的二十大精神进教材、进课堂、进头脑的要求,在设计Web应用程序方面注重网络数据的保密性、完整性、可用性、真实性,加强对Web应用程序开发的教育,引导学生正确处理数据和信息,注重社会责任和道德规范,为推动建设数字中国的目标贡献一份力量。此外,编 者依据书中的内容提供了线上学习的视频资源,体现现代信息技术与教育教学的深度融合,进一步推动教育数字化发展。 修订内容 为了与行业发展保持同步,本书在第1版的基础上进行了修订。第2版延续了第1版的编写思路,修订主要方向包括技术更新、内容优化。首先根据Python和Django版本的迭代进行版本修订,其次根据老师的需求和反馈对图书内容和案例进行了优化,最后结合国家对教育行业的政策要求融入了思政教育内容。 修订的主要内容如下: (1)将Python升级至Python 3.12版本,Django框架升级至5.0版本,紧跟技术发展需求。 (2)删除Django后台管理系统内容。 (3)删除Django中表单相关内容。 (4)删除Celery的使用,简化邮箱验证功能的实现。 (5)更新小鱼商城对接支付宝流程。 (6)增加列表页展示商品评价数量功能。 本书内容 本书在Windows上基于Python 3.12和Django 5.0对Django框架的使用进行讲解,全书总共12章。其中第1章介绍Django框架的安装与版本选择,第2~6章介绍Django框架的使用,第7~12章介绍Web项目——小鱼商城从前期准备到项目实现。各部分内容分别如下: Django概述部分:第1章主要围绕Django概述内容进行介绍,包括认识Django、安装Django、创建第一个Django项目和Django之MTV模式。通过学习这些内容,读者可以对Django框架有所了解,掌握如何搭建虚拟环境,熟悉Django目录结构,可熟练创建Django项目与应用。 Django框架使用部分:第2~6章主要围绕Django框架的使用进行介绍,包括路由系统、模型、模板、视图和身份验证系统。通过这些章节的学习,读者将掌握Django框架基本使用。 项目实践部分:第7~12章通过实际项目案例——小鱼商城展示了Django框架在实际项目开发中的应用。通过逐步实现项目的各个模块和页面功能,读者可以深入理解Django框架的实际运用,并具备使用Django框架进行项目开发的能力。 本书特色 本书具有以下三个特色: 特色1:理实一体,服务教育教学 本书按照“教学做一体化”的思维模式构建内容体系。本书以技能培养为核心任务,按照“螺旋形”提升模式将内容组织为三部分:Django概述(第1章)、Django框架使用部分(第2~6章)和项目实践部分(第7~12章),使学生按照“单个技能点练习—阶段实例技能练习—实战项目技能练习”的练习过程,快速提升专业技能,为“理实一体”的教育理念提供教材和资源支撑。 特色2:项目贯穿,服务实践教学 本书根据培养“项目经验”的核心任务,按照“螺旋形”提升模式,配置了大量的示例,并设计了一个实战项目——小鱼商城,按照“基础示例—实战项目”的练习过程,快速提升学生的专业技能和项目经验,以更加符合实践教学的要求,也更加符合教学的规律和学习的规律。 特色3:立体设计,服务课程建设 本书采用新形态立体化设计,配套了丰富的数字化教学资源,包括教学大纲、教学设计、教学PPT、测试题、源代码、习题答案等。本书丰富了学习手段和形式、提高了读者学习的兴趣和效率,全方位立体化服务Python Web开发课程建设。 读者在学习的过程中,务必要勤于练习,确保真正获取所学知识。若在学习的过程中遇到无法解决的困难,建议读者莫要纠结于此,继续往后学习,或可豁然开朗。 致谢 本书的编写和整理工作由江苏传智播客教育科技股份有限公司完成,主要参与人员有高美云、孙东、王晓娟等。全体人员在近一年的编写过程中付出了很多辛勤的汗水,在此一并表示衷心的感谢。 意见反馈 尽管我们付出了最大的努力,但书中难免会有疏漏和不妥之处,欢迎各界专家和读者朋友来信给予宝贵意见,我们将不胜感激。您在阅读本书时,如发现任何问题或有不认同之处可以通过电子邮件与我们取得联系。 电子邮箱:itcast_book@vip.sina.com。 黑马程序员 2024年4月29日于北京
第1章 Django概述 1 1.1 认识Django 1 1.2 安装Django 2 1.2.1 Django版本选择 2 1.2.2 创建虚拟Python环境 3 1.2.3 使用pip安装Django 5 1.3 创建第一个Django项目 6 1.3.1 新建Django项目 6 1.3.2 项目结构说明 8 1.3.3 运行开发服务器 8 1.3.4 Django项目配置 10 1.3.5 在项目中创建应用 12 1.4 Django之MTV模式 14 小结 15 习题 15 第2章 路由系统 17 2.1 认识路由系统 17 2.1.1 HTTP请求处理流程概述 18 2.1.2 URL配置 18 2.2 路由转换器 20 2.2.1 内置路由转换器 20 2.2.2 自定义路由转换器 20 2.3 使用正则表达式匹配URL 22 2.4 路由分发 24 2.5 向视图函数传递额外参数 26 2.6 URL模式命名与命名空间 27 2.6.1 URL模式命名 27 2.6.2 使用reverse()函数反向解析URL 28 2.6.3 应用的命名空间 29 2.6.4 实例命名空间 31 小结 33 习题 33 第3章 模型 35 3.1 定义与使用模型 35 3.2 模型的字段 39 3.2.1 字段类型 39 3.2.2 关系字段 41 3.2.3 字段的通用参数 43 3.3 模型的元属性 44 3.4 模型管理器 46 3.4.1 重命名管理器名称 46 3.4.2 自定义管理器 46 3.5 QuerySet对象 47 3.5.1 获取QuerySet对象 47 3.5.2 QuerySet对象的特性 48 3.6 数据的增删改查 49 3.7 F对象与Q对象 52 3.8 多表查询 53 3.9 执行原生SQL语句 56 小结 56 习题 57 第4章 模板 59 4.1 模板引擎与模板文件 59 4.2 模板文件的使用 60 4.3 模板语言 61 4.3.1 变量 62 4.3.2 过滤器 63 4.3.3 标签 66 4.3.4 自定义过滤器和标签 71 4.4 模板继承 77 4.5 Jinja2 79 小结 83 习题 83 第5章 视图 85 5.1 认识视图 85 5.2 请求对象 86 5.3 QueryDict对象 90 5.4 响应对象 91 5.4.1 HttpResponse类 91 5.4.2 HttpResponse的子类 94 5.5 生成响应的便捷函数 96 5.5.1 render()函数 96 5.5.2 redirect()函数 98 5.5.3 get_object_or_404()函数 99 5.5.4 get_list_or_404()函数 99 5.6 视图装饰器 99 5.7 类视图 100 5.8 通用视图 101 5.8.1 通用视图分类 101 5.8.2 通用显示视图与模型 101 5.8.3 修改查询集结果 101 5.8.4 添加额外的上下文对象 102 5.9 异步视图 102 小结 102 习题 102 第6章 身份验证系统 104 6.1 User对象 104 6.2 权限与权限管理 107 6.2.1 默认权限 108 6.2.2 权限管理 108 6.2.3 自定义权限 108 6.3 Web请求认证 108 6.3.1 用户登录与退出 108 6.3.2 限制用户访问 111 6.4 模板身份验证 114 6.5 自定义用户模型 114 6.6 状态保持 115 6.6.1 Cookie 115 6.6.2 Session 118 小结 122 习题 122 第7章 电商项目——前期准备 124 7.1 项目需求 124 7.2 模块归纳 133 7.3 项目开发模式与运行机制 134 7.4 项目创建和配置 135 7.4.1 创建项目 135 7.4.2 配置开发环境 135 7.4.3 配置Jinja2模板 136 7.4.4 配置MySQL数据库 138 7.4.5 配置Redis数据库 139 7.4.6 配置项目日志 140 7.4.7 配置前端静态文件 142 7.4.8 配置应用目录 143 小结 144 习题 144 第8章 电商项目——用户管理与验证 145 8.1 定义用户模型类 145 8.2 用户注册 147 8.2.1 用户注册逻辑分析 147 8.2.2 用户注册后端基础需求的实现 148 8.2.3 用户名与手机号唯一性校验 152 8.2.4 图形验证码 155 8.3 用户登录 158 8.3.1 使用用户名登录 158 8.3.2 使用手机号登录 160 8.3.3 状态保持 161 8.3.4 首页展示用户名 162 8.3.5 退出登录 164 8.4 用户中心 165 8.4.1 用户基本信息 165 8.4.2 添加邮箱 168 8.4.3 邮箱验证 169 8.4.4 省市区三级联动 175 8.4.5 新增与展示收货地址 180 8.4.6 设置默认地址与修改地址标题 186 8.4.7 修改与删除收货地址 188 8.4.8 修改登录密码 191 小结 192 习题 193 第9章 电商项目——商品数据的呈现 194 9.1 商品数据库表分析 194 9.2 导入商品数据 197 9.3 呈现首页数据 201 9.3.1 呈现首页商品分类 201 9.3.2 呈现首页商品广告 205 9.4 商品列表 207 9.4.1 商品列表页分析 207 9.4.2 呈现商品列表页数据 209 9.4.3 获取商品分类 213 9.4.4 列表页面包屑导航 216 9.4.5 列表页热销排行 217 9.5 商品搜索 220 9.5.1 准备搜索引擎 220 9.5.2 渲染商品搜索结果 223 9.5.3 搜索结果分页 224 9.6 商品详情 225 9.6.1 展示商品SKU信息 225 9.6.2 展示商品SKU规格 228 9.7 用户浏览记录 230 9.7.1 浏览记录存储方案 230 9.7.2 保存和查询浏览记录 232 小结 234 习题 234 第10章 电商项目——购物车 235 10.1 购物车数据存储方案 235 10.1.1 登录用户购物车数据存储方案 235 10.1.2 未登录用户购物车数据存储方案 236 10.2 购物车管理 238 10.2.1 购物车添加商品 238 10.2.2 展示购物车商品 242 10.2.3 修改购物车商品 244 10.2.4 删除购物车商品 247 10.2.5 全选购物车 249 10.2.6 合并购物车 251 10.3 展示购物车缩略信息 252 小结 255 习题 256 第11章 电商项目——订单 257 11.1 结算订单 257 11.1.1 接口定义 257 11.1.2 后端逻辑实现 258 11.1.3 前端页面渲染 262 11.2 提交订单 264 11.2.1 定义订单表模型 264 11.2.2 保存订单信息 266 11.2.3 呈现订单提交成功页面 269 11.3 基于事务的订单数据保存 271 11.3.1 Django中事务的使用 271 11.3.2 使用事务保存订单数据 271 11.4 基于乐观锁的并发下单 273 11.5 查看订单 276 小结 279 习题 279 第12章 电商项目——支付与评价 280 12.1 支付宝开放平台介绍 280 12.2 对接支付宝 280 12.2.1 支付信息配置 281 12.2.2 订单支付功能 285 12.2.3 保存订单支付结果 289 12.3 商品评价 291 12.3.1 评价订单商品 291 12.3.2 详情页展示商品评价 295 12.3.3 商品列表页展示评价数量 297 小结 297 习题 298 参考文献 299
江苏传智播客教育科技股份有限公司(简称传智教育)是一家培养高精尖数字化专业人才的公司,主要培养人工智能、大数据、智能制造、软件开发、区块链、数据分析、网络营销、新媒体等领域的人才。传智教育在教育领域有两个子品牌:黑马程序员和院校邦。
特色1:理实一体,服务教育教学 特色2:项目贯穿,服务实践教学 特色3:立体设计,服务课程建设