×
超值优惠券
¥50
100可用 有效期2天

全场图书通用(淘书团除外)

关闭
暂无评论
图文详情
  • ISBN:9787302580317
  • 装帧:一般胶版纸
  • 册数:暂无
  • 重量:暂无
  • 开本:其他
  • 页数:623
  • 出版时间:2021-07-01
  • 条形码:9787302580317 ; 978-7-302-58031-7

本书特色

本书编者是一位资深的开发人员,他以多年使用Django开发项目的经验,向读者展示了Django这一流行框架的强大、灵活与高效。书中循序渐进地介绍了Django的基本概念、功能特性、工具应用以及企业级开发技术,并对Django 3的新特性也进行了详细讲解。本书从逻辑上主要分为基础篇和实战篇两部分,各部分说明如下:基础篇主要介绍了Django 的各项功能及其使用,适合初次接触Django的初学者快速入门,这一部分的内容包括:Django的项目配置、路由的编写规则、视图函数的定义方法、视图类的定义与使用、模板的编写方法、模型的定义与使用、数据表的动态创建和MySQL分表功能、表单的定义与使用、Django内置的Admin后台系统、Django常用的内置功能。 Django 3的新特性异步编程(包括多线程的应用、ASGI服务、异步视图以及异步与同步的转换)。 Django第三方功能应用,包括DRF框架开发API接口、生成网站验证码、站内搜索引擎、第三方网站实现账号注册、异步任务和定时任务、即时通信实现在线聊天。 实战篇介绍如何使用Django 开发完整的项目,包括信息反馈平台的开发、博客系统的开发和音乐网站平台的开发,分别说明如下:信息反馈平台的开发,平台功能包括信息反馈页面、Admin后台系统、自定义异常机制和单元测试。 博客系统的开发,网站功能包括用户(博主)注册和登录、博主资料信息、图片墙功能、留言板功能、文章列表、文章正文内容和 Admin后台系统。 音乐网站平台的开发,网站功能有首页、排行榜、歌曲播放、歌曲点评、歌曲搜索、用户注册和登录、用户中心、Admin后台管理和网站异常机制。 此外,还介绍了微服务架构和前后端分离的开发模式,包括Vue.js在项目开发中的应用、如何使用Django开发API接口、微服务的JWT认证、服务发现与注册等功能。 *后,介绍了Django项目在Windows和Linux系统上的部署。 本书集新版本特性、开发心得与前沿技术为一体,任何使用Django开发Web项目的读者都可以从本书中获益。 以Django Web项目开发为主线,从源码的角度,深入剖析Django 3 企业级开发技术

内容简介

本书以Django Web项目开发为主线,深入系统地介绍了Django 3在Web开发中的应用。从网站开发入门开始,逐步深入讲述Django框架的各功能要点,每个功能要点从源码角度分析,并在源码的基础上实现自定义的功能开发。还介绍了Django的第三方功能应用,如DRF框架开发API接口、生成网站验证码、站内搜索引擎、第三方网站实现账号注册、异步任务和定时任务、即时通信实现在线聊天。本书提供了4个实战案例,包括信息反馈平台、博客系统、音乐网站平台、前后端分离与微服务架构,涵盖了网站的单体式开发、前后端分离和微服务开发,从单一的网站开发转变到网站架构设计开发。很后讲述Django的上线部署方案,分别讲述Django如何部署在Windows和Linux系统上。 本书内容丰富,技术新颖,注重实战,适合有一定Python基础的Web开发人员阅读,也可用作培训机构和大中专院校相关专业的教学参考书。

目录

目 录 第1章 Django建站基础 1 1.1 网站的定义及组成 1 1.2 网站的分类 2 1.3 网站运行原理及开发流程 4 1.3.1 常用术语 4 1.3.2 网站的运行原理 4 1.3.3 网站的开发流程 5 1.3.4 任务划分 5 1.4 走进Django 6 1.5 安装Django 6 1.6 创建项目 7 1.7 PyCharm创建项目 9 1.8 开启Django Hello World 11 1.8.1 Django的操作指令 11 1.8.2 开启Hello World之旅 13 1.9 调试Django项目 15 1.9.1 PyCharm断点调试 15 1.9.2 调试异常 17 1.10 HTML、CSS和JavaScript 19 1.10.1 HTML 19 1.10.2 CSS 21 1.10.3 JavaScript 24 1.11 本章小结 26 第2章 Django配置信息 29 2.1 基本配置信息 29 2.2 资源文件配置 31 2.2.1 资源路由——STATIC_URL 31 2.2.2 资源集合——STATICFILES_DIRS 32 2.2.3 资源部署——STATIC_ROOT 33 2.2.4 媒体资源——MEDIA 34 2.3 模板配置 35 2.4 数据库配置 37 2.4.1 mysqlclient连接MySQL 37 2.4.2 pymysql连接MySQL 39 2.4.3 多个数据库的连接方式 40 2.4.4 使用配置文件动态连接数据库 41 2.4.5 通过SSH隧道远程连接MySQL 43 2.5 中间件 45 2.6 本章小结 46 第3章 初探路由 48 3.1 路由定义规则 48 3.1.1 Django 2以上版本路由定义 48 3.1.2 Django 1.X路由定义 51 3.1.3 路由变量的设置 52 3.1.4 正则表达式的路由定义 55 3.2 命名空间与路由命名 56 3.2.1 命名空间namespace 56 3.2.2 路由命名name 57 3.3 路由的使用方式 59 3.3.1 在模板中使用路由 59 3.3.2 反向解析reverse与resolve 62 3.3.3 路由重定向 65 3.4 本章小结 67 第4章 探究FBV视图 69 4.1 设置响应方式 69 4.1.1 返回响应内容 69 4.1.2 设置重定向 73 4.1.3 异常响应 75 4.1.4 文件下载功能 77 4.2 HTTP请求对象 81 4.2.1 获取请求信息 82 4.2.2 文件上传功能 85 4.2.3 Cookie实现反爬虫 90 4.2.4 请求头实现反爬虫 97 4.3 本章小结 100 第5章 探究CBV视图 102 5.1 数据显示视图 102 5.1.1 重定向视图RedirectView 102 5.1.2 基础视图TemplateView 105 5.1.3 列表视图ListView 107 5.1.4 详细视图DetailView 112 5.2 数据操作视图 115 5.2.1 表单视图FormView 115 5.2.2 新增视图CreateView 118 5.2.3 修改视图UpdateView 120 5.2.4 删除视图DeleteView 122 5.3 日期筛选视图 124 5.3.1 月份视图MonthArchiveView 126 5.3.2 周期视图WeekArchiveView 131 5.4 本章小结 133 第6章 深入模板 135 6.1 Django模板引擎 135 6.1.1 模板上下文 135 6.1.2 自定义标签 137 6.1.3 模板继承 141 6.1.4 自定义过滤器 143 6.2 Jinja2模板引擎 147 6.2.1 安装与配置 148 6.2.2 模板语法 151 6.2.3 自定义过滤器 153 6.3 本章小结 154 第7章 模型与数据库 156 7.1 模型定义与数据迁移 156 7.1.1 定义模型 157 7.1.2 开发个人的ORM框架 160 7.1.3 数据迁移 163 7.1.4 数据导入与导出 167 7.2 数据表关系 168 7.3 数据表操作 172 7.3.1 数据新增 173 7.3.2 数据修改 175 7.3.3 数据删除 176 7.3.4 数据查询 177 7.3.5 多表查询 181 7.3.6 执行SQL语句 185 7.3.7 数据库事务 186 7.4 多数据库的连接与使用 189 7.4.1 多数据库的连接 189 7.4.2 多数据库的使用 191 7.5 动态创建模型与数据表 194 7.6 MySQL分表功能 197 7.7 本章小结 201 第8章 表单与模型 203 8.1 初识表单 203 8.2 源码分析Form 207 8.3 源码分析ModelForm 213 8.4 视图里使用Form 217 8.5 视图里使用ModelForm 219 8.6 同一网页多个表单 222 8.7 一个表单多个按钮 225 8.8 表单的批量处理 227 8.9 多文件批量上存 231 8.10 本章小结 236 第9章 Admin后台系统 238 9.1 走进Admin 238 9.2 源码分析ModelAdmin 242 9.3 Admin首页设置 247 9.4 Admin的二次开发 249 9.4.1 函数get_readonly_fields() 250 9.4.2 设置字段样式 251 9.4.3 函数get_queryset() 253 9.4.4 函数formfield_for_foreignkey() 253 9.4.5 函数formfield_for_choice_field() 254 9.4.6 函数save_model() 255 9.4.7 数据批量操作 257 9.4.8 自定义Admin模板 258 9.4.9 自定义Admin后台系统 260 9.5 本章小结 266 第10章 Auth认证系统 268 10.1 内置User实现用户管理 268 10.2 发送邮件实现密码找回 276 10.3 模型User的扩展与使用 283 10.4 权限的设置与使用 290 10.5 自定义用户权限 292 10.6 设置网页的访问权限 294 10.7 用户组的设置与使用 300 10.8 本章小结 302 第11章 常用的Web应用程序 305 11.1 会话控制 305 11.1.1 会话的配置与操作 305 11.1.2 使用会话实现商品抢购 309 11.2 缓存机制 315 11.2.1 缓存的类型与配置 316 11.2.2 缓存的使用 318 11.3 CSRF防护 322 11.4 消息框架 324 11.4.1 源码分析消息框架 324 11.4.2 消息框架的使用 326 11.5 分页功能 330 11.5.1 源码分析分页功能 330 11.5.2 分页功能的使用 333 11.6 国际化和本地化 337 11.6.1 环境搭建与配置 337 11.6.2 设置国际化 338 11.6.3 设置本地化 340 11.7 单元测试 341 11.7.1 定义测试类 342 11.7.2 运行测试用例 348 11.8 自定义中间件 349 11.8.1 中间件的定义过程 349 11.8.2 中间件实现Cookie反爬虫 352 11.9 异步编程 355 11.9.1 使用多线程 355 11.9.2 启用ASGI服务 358 11.9.3 异步视图 359 11.9.4 异步与同步的转换 362 11.10 信号机制 363 11.10.1 内置信号 363 11.10.2 自定义信号 367 11.10.3 订单创建与取消 369 11.11 本章小结 373 第12章 第三方功能应用 377 12.1 Django Rest Framework框架 377 12.1.1 DRF的安装与配置 377 12.1.2 序列化类Serializer 379 12.1.3 模型序列化类ModelSerializer 383 12.1.4 序列化的嵌套使用 386 12.2 验证码生成与使用 389 12.2.1 Django Simple Captcha的安装与配置 389 12.2.2 使用验证码实现用户登录 392 12.3 站内搜索引擎 396 12.3.1 Django Haystack的安装与配置 396 12.3.2 使用搜索引擎实现产品搜索 399 12.4 第三方网站实现用户注册 404 12.4.1 Social-Auth-App-Django的安装与配置 405 12.4.2 微博账号实现用户注册 409 12.5 异步任务和定时任务 411 12.5.1 Celery的安装与配置 411 12.5.2 异步任务 413 12.5.3 定时任务 416 12.6 即时通信——在线聊天 417 12.6.1 Channels的安装与配置 418 12.6.2 Web在线聊天功能 421 12.7 本章小结 425 第13章 信息反馈平台的设计与实现 427 13.1 项目设计与配置 427 13.1.1 项目架构设计 428 13.1.2 MySQL搭建与配置 429 13.1.3 功能配置 431 13.1.4 数据库架构设计 433 13.2 程序功能开发 434 13.2.1 路由与视图函数 434 13.2.2 使用Jinja2编写模板文件 436 13.2.3 Admin后台系统 439 13.3 测试与运行 440 13.3.1 编写单元测试 440 13.3.2 运行与上线 442 13.4 本章小结 445 第14章 个人博客系统的设计与实现 447 14.1 项目设计与配置 447 14.1.1 项目架构设计 450 14.1.2 功能配置 451 14.1.3 数据表架构设计 453 14.1.4 定义路由列表 456 14.1.5 编写共用模板 457 14.2 注册与登录 460 14.3 博主资料信息 464 14.4 图片墙功能 466 14.5 留言板功能 468 14.6 文章列表 472 14.7 文章正文内容 475 14.8 Admin后台系统 479 14.8.1 模型的数据管理 479 14.8.2 自定义Admin的登录页面 483 14.8.3 Django CKEditor生成文章编辑器 485 14.9 测试与部署 488 14.9.1 测试业务逻辑 488 14.9.2 上线部署 492 14.10 本章小结 493 第15章 音乐网站平台的设计与实现 495 15.1 项目设计与配置 495 15.1.1 项目架构设计 499 15.1.2 功能配置 500 15.1.3 数据表架构设计 502 15.1.4 定义路由列表 506 15.1.5 编写共用模板 507 15.2 网站首页 507 15.3 歌曲排行榜 513 15.4 歌曲搜索 517 15.5 歌曲播放与下载 521 15.6 歌曲点评 528 15.7 注册与登录 533 15.8 用户中心 537 15.9 Admin后台系统 541 15.10 自定义异常页面 544 15.11 部署与运行 545 15.11.1 上线部署 546 15.11.2 网站试运行 547 15.12 本章小结 548 第16章 基于前后端分离与微服务架构的网站开发 550 16.1 Vue框架 550 16.1.1 Vue开发产品信息页 550 16.1.2 Vue发送AJAX请求 554 16.2 Django开发API接口 555 16.2.1 简化Django内置功能 555 16.2.2 设置跨域访问 557 16.2.3 使用路由视图开发API接口 558 16.2.4 DRF框架开发API接口 561 16.3 微服务架构 562 16.3.1 微服务实现原理 562 16.3.2 功能拆分 565 16.3.3 设计API网关 569 16.3.4 调试与运行 572 16.4 JWT认证 573 16.4.1 认识JWT 573 16.4.2 DRF的JWT 574 16.5 微服务注册与发现 582 16.5.1 常用的服务注册与发现框架 582 16.5.2 Consul的安装与接口 583 16.5.3 Django与Consul的交互 587 16.5.4 服务的运行与部署 592 16.5.5 服务的负载均衡 596 16.6 本章小结 597 第17章 Django项目上线部署 599 17.1 基于Windows部署Django 599 17.1.1 安装IIS服务器 599 17.1.2 创建项目站点 601 17.1.3 配置静态资源 604 17.2 基于Linux部署Django 605 17.2.1 安装Linux虚拟机 605 17.2.2 安装Python 3 611 17.2.3 部署uWSGI服务器 612 17.2.4 安装Nginx部署项目 615 17.3 本章小结 616 附录A Django面试题 618 附录B Django资源列表 622
展开全部

作者简介

黄永祥,资深软件工程师,从业10年,先后从事过系统开发和自动化开发工作,精通自动化测试技术(B/S和C/S),尤其是Python语言及Flask、Django框架,拥有丰富的开发经验。已出版《实战Python网络爬虫》《精通Python自动化编程》等图书。

预估到手价 ×

预估到手价是按参与促销活动、以最优惠的购买方案计算出的价格(不含优惠券部分),仅供参考,未必等同于实际到手价。

确定
快速
导航