高等教育 > 计算机类

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:立体设计,服务课程建设