-
内容大纲
本书详细阐述了与Django4相关的基本解决方案,主要包括构建一个博客应用程序、利用高级特性增强博客应用程序、扩展博客应用程序、构建社交网站、实现社交身份验证、共享网站上的内容、跟踪用户动作、构建在线商店、管理支付和订单、扩展商店、向商店中添加国际化功能、构建在线学习平台、创建内容管理系统、渲染和缓存内容、构建API、构建聊天服务器、生产环境等内容。此外,本书还提供了相应的示例、代码,以帮助读者进一步理解相关方案的实现过程。
本书适合作为高等院校计算机及相关专业的教材和教学参考书,也可作为相关开发人员的自学用书和参考手册。 -
作者介绍
-
目录
第1章 构建一个博客应用程序
1.1 安装Python
1.2 创建Python虚拟环境
1.3 安装Django
1.3.1 利用pip安装Django
1.3.2 Django 4中的新特性
1.4 Django概述
1.5 主框架组件
1.6 Django架构
1.7 创建第一个项目
1.7.1 应用初始数据库迁移
1.7.2 运行开发服务器
1.7.3 项目设置项
1.7.4 项目和应用程序
1.7.5 创建一个应用程序
1.8 创建博客数据模型
1.8.1 创建Post模型
1.8.2 添加日期时间字段
1.8.3 定义默认排序顺序
1.8.4 添加一个数据库索引
1.8.5 激活应用程序
1.8.6 添加一个status字段
1.8.7 添加多对一关系
1.8.8 创建并应用迁移
1.9 创建模型的管理网站
1.9.1 创建一个超级用户
1.9.2 Django管理网站
1.9.3 向管理网站中添加模型
1.9.4 定制模型的显示方式
1.10 与QuerySet和管理器协同工作
1.10.1 创建对象
1.10.2 更新对象
1.10.3 检索对象
1.10.4 删除对象
1.10.5 QuerySet何时取值
1.10.6 创建模型管理器
1.11 构建列表和详细视图
1.11.1 创建列表和详细视图
1.11.2 使用get_object_or_404快捷方式
1.11.3 添加视图的URL模式
1.12 创建视图的模板
1.12.1 创建基础模板
1.12.2 创建帖子列表模板
1.12.3 访问应用程序
1.12.4 创建帖子详细模板
1.13 请求/响应循环
1.14 附加资源
1.15 本章小结
第2章 利用高级特性增强博客应用程序
2.1 使用模型的标准URL
2.2 创建帖子的SEO友好的URL
2.3 调整URL模式
2.4 调整视图
2.5 调整帖子的标准URL
2.6 添加分页
2.6.1 向帖子列表视图中添加分页
2.6.2 创建一个分页模板
2.6.3 处理分页错误
2.7 构建基于类的视图
2.7.1 为何采用基于类的视图
2.7.2 使用基于类的视图列出帖子
2.8 基于电子邮件的推荐帖子
2.8.1 利用Django创建表单
2.8.2 处理视图中的表单
2.8.3 利用Django发送电子邮件
2.8.4 在视图中发送电子邮件
2.8.5 在模板中渲染表单
2.9 创建一个评论系统
2.9.1 创建一个评论模型
2.9.2 向管理网站中添加评论
2.9.3 从模型中创建表单
2.9.4 在视图中处理ModelForms
2.9.5 创建评论表单的模板
2.9.6 向帖子详细视图中添加评论
2.9.7 向帖子详细模板中添加评论
2.10 附加资源
2.11 本章小结
第3章 扩展博客应用程序
3.1 添加标签功能
3.2 根据相似性检索帖子
3.3 创建自定义模板标签和过滤器
3.3.1 实现自定义模板标签
3.3.2 创建一个简单的模板标签
3.3.3 创建一个包含模板标签
3.3.4 创建返回QuerySet的模板标签
3.3.5 实现自定义模板过滤器
3.3.6 创建模板过滤器以支持Markdown语法
3.4 向网站中添加网站地图
3.5 创建博客帖子的订阅源
3.6 向博客中添加全文本搜索
3.6.1 安装PostgreSQL
3.6.2 创建PostgreSQL数据库
3.6.3 转储现有的数据
3.6.4 切换项目中的数据库
3.6.5 将数据加载至新数据库中
3.6.6 简单的搜索查询
3.6.7 针对多个字段搜索
3.6.8 构建一个搜索视图
3.6.9 词干和排名结果
3.6.10 不同语言中的词干提取和移除停用词
3.6.11 加权查询
3.6.12 使用三元组相似性进行搜索
3.7 附加资源
3.8 本章小结
第4章 构建社交网站
4.1 创建社交网站项目
4.2 使用Django身份验证框架
4.2.1 创建一个登录视图
4.2.2 使用Django身份验证视图
4.2.3 登录和注销视图
4.2.4 修改密码视图
4.2.5 重置密码视图
4.3 用户注册和用户个人信息
4.3.1 用户注册
4.3.2 扩展用户模型
4.3.3 安装Pillow并处理媒体文件
4.3.4 创建资料模型的迁移
4.2.5 使用消息框架
4.4 构建自定义身份验证后端
4.5 附加资源
4.6 本章小结
第5章 实现社交身份验证
5.1 向网站中添加社交身份验证
5.1.1 通过HTTPS运行开发服务器
5.1.2 利用Facebook进行身份验证
5.1.3 利用Twitter进行身份验证
5.1.4 使用Google进行身份验证
5.1.5 为注册社交认证的用户创建资料文件
5.2 附加资源
5.3 本章小结
第6章 共享网站上的内容
6.1 创建一个图像收藏网站
6.1.1 构建图像模型
6.1.2 创建多对多关系
6.1.3 在管理网站注册图像模型
6.2 从其他网站上发布内容
6.2.1 清除表单字段
6.2.2 安装Requests库
6.2.3 覆写ModelForm的ave()方法
6.2.4 利用JavaScript构建书签工具
6.3 创建图像的详细视图
6.4 利用easy-thumbnails创建图像的缩略图
6.5 利用JavaScript添加异步动作
6.5.1 在DOM上加载JavaScript
6.5.2 JavaScript中HTTP请求的跨站点请求伪造
6.5.3 利用JAvaScript实现HTTP请求
6.6 向图像列表中添加无限滚动分页机制
6.7 附加资源
6.8 本章小结
第7章 跟踪用户动作
7.1 构建关注系统
7.1.1 利用中间模型创建多对多关系
7.1.2 创建用户资料的列表和详细视图
7.1.3 利用JavaScript添加关注/取消关注动作
7.2 构建通用的活动流应用程序
7.2.1 使用contenttypes框架
7.2.2 向模型中添加通用关系
7.2.3 避免活动流中的重复动作
7.2.4 向活动流中添加用户动作
7.2.5 显示活动流
7.2.6 优化涉及关联对象的QuerySet
7.2.7 创建动作模板
7.3 针对反规范化计数使用信号
7.3.1 与信号协同工作
7.3.2 应用程序配置类
7.4 使用Django Debug Toolbar
7.4.1 安装Django Debug Toolbar
7.4.2 Django Debug Toolbar
7.4.3 Django Debug Toolbar命令
7.5 利用Redis计数图像视图
7.5.1 安装Docker
7.5.2 安装Redis
7.5.3 通过Python使用Redis
7.5.4 将图像视图存储于Redis中
7.5.5 将排名存储于Redis中
7.5.6 Redis适用场景
7.6 附加资源
7.7 本章小结
第8章 构建在线商店
8.1 创建在线商店项目
8.1.1 创建商品目录模型
8.1.2 在管理网站上注册目录模型
8.1.3 构建目录视图
8.1.4 创建目录模板
8.2 构建购物车
8.2.1 使用Django会话
8.2.2 会话设置
8.2.3 会话过期
8.2.4 将购物车存储至会话中
8.2.5 创建购物车视图
8.2.6 针对当前购物车创建上下文处理器
8.3 注册客户订单
8.3.1 创建订单模型
8.3.2 在管理网站中包含订单模型
8.3.3 创建自定义表单
8.4 异步任务
8.4.1 与异步任务协同工作
8.4.2 worker、消息队列和消息代理
8.5 附加资源
8.6 本章小结
第9章 管理支付和订单
9.1 集成支付网关
9.1.1 创建Stripe账户
9.1.2 安装Stripe Python库
9.1.3 向项目中添加Stripe
9.1.4 构建支付处理过程
9.1.5 测试结算过程
9.1.6 使用webhook接收支付通知
9.1.7 在订单中引用Stripe支付
9.2 将订单导出为CSV文件
9.3 利用自定义视图扩展管理网站
9.4 以动态方式生成PDF发票
9.4.1 安装WeasyPrint
9.4.2 创建PDF模板
9.4.3 渲染PDF文件
9.4.4 通过电子邮件发送PDF文件
9.5 附加资源
9.6 本章小结
第10章 扩展商店
10.1 创建优惠券系统
10.1.1 构建优惠券系统
10.1.2 将优惠券应用于购物车上
10.1.3 将优惠券应用于订单上
10.1.4 针对Stripe Checkout创建优惠券
10.1.5 将优惠券添加至订单和PDF发票中
10.2 构建推荐引擎
10.3 附加资源
10.4 本章小结
第11章 向商店中添加国际化功能
11.1 基于Django的国际化
11.1.1 国际化和本地化设置
11.1.2 国际化管理命令
11.1.3 安装gettext工具集
11.1.4 如何向Django项目中添加翻译
11.1.5 Django如何确定当前语言
11.2 准备项目以实现国际化
11.3 翻译Python代码
11.3.1 标准翻译
11.3.2 延迟翻译
11.3.3 变量翻译
11.3.4 翻译中的复数形式
11.3.5 翻译自己的代码
11.4 翻译模板
11.4.1 {%trans%}模板标签
11.4.2 {%blocktrans%}模板标签
11.4.3 翻译shop模板
11.5 使用Rosetta翻译界面
11.6 模糊翻译
11.7 国际化的URL模式
11.7.1 向URL模式中添加语言前缀
11.7.2 翻译URL模式
11.8 允许用户切换语言
11.9 利用django-parler翻译模型
11.9.1 安装django-parler
11.9.2 翻译模型字段
11.9.3 将翻译集成至管理网站中
11.9.4 创建模型翻译的迁移
11.9.5 结合ORM使用翻译
11.9.6 调整翻译视图
11.10 本地化格式
11.11 使用django-localflavor验证表单字段
11.12 附加资源
11.13 本章小结
第12章 构建在线学习平台
12.1 设置在线学习项目
12.2 服务于媒体文件
12.3 构建course模块
12.3.1 在管理网站中注册模型
12.3.2 使用fixture提供模型的初始数据
12.4 针对多态内容创建模型
12.4.1 使用模型继承
12.4.2 创建Content模型
12.4.3 创建自定义模型字段
12.4.4 向模块和内容对象中添加顺序
12.5 添加身份验证视图
12.5.1 添加身份验证系统
12.5.2 创建身份验证模板
12.6 附加资源
12.7 本章小结
第13章 创建内容管理系统
13.1 创建CMS
13.1.1 创建基于类的视图
13.1.2 针对基于类的视图使用混入
13.1.3 与分组和权限协同工作
13.2 管理课程模块及其内容
13.2.1 对课程模块使用表单集
13.2.2 向课程模块添加内容
13.2.3 管理模块及其内容
13.2.4 重新排序模块及其内容
13.3 附加资源
13.4 本章小结
第14章 渲染和缓存内容
14.1 显示课程
14.2 添加学生注册信息
14.2.1 创建学生的注册视图
14.2.2 注册课程
14.3 访问课程内容
14.4 使用缓存框架
14.4.1 有效的缓存后端
14.4.2 安装Memcached
14.4.3 安装Memcached Docker镜像
14.4.4 安装Memcached Python绑定
14.4.5 Django缓存设置项
14.4.6 将Memcached添加至项目中
14.4.7 缓存级别
14.4.8 使用低级别的缓存API
14.4.9 利用Django Debug Toolbar检查缓存请求
14.4.10 基于动态数据的缓存
14.4.11 缓存模板片段
14.4.12 缓存视图
14.4.13 使用逐站点缓存
14.4.14 使用Redis缓存后端
14.4.15 利用Django Redisboard监视Redis
14.5 附加资源
14.6 本章小结
第15章 构建API
15.1 构建RESTfulAPI
15.1.1 安装DjangoREST框架
15.1.2 定义序列化器
15.1.3 理解解析器和渲染器
15.1.4 构建列表和详细视图
15.1.5 使用API
15.1.6 创建嵌套的序列化器
15.1.7 构建自定义API视图
15.1.8 处理身份验证
15.1.9 向视图中添加权限
15.1.10 构建ViewSet和路由器
15.1.11 向ViewSet添加附加动作
15.1.12 创建自定义权限
15.1.13 序列化课程内容
15.1.14 使用RESTfulAPI
15.2 附加资源
15.3 本章小结
第16章 构建聊天服务器
16.1 创建聊天应用程序
16.2 基于Channels的实时Django
16.2.1 基于ASGI的异步应用程序
16.2.2 基于Channels的请求/响应循环
16.3 安装Channels
16.4 编写使用者
16.5 路由机制
16.6 实现WebSocket客户端
16.7 启用通道层
16.7.1 通道和分组
16.7.2 利用Redis设置通道层
16.7.3 更新使用者并广播消息
16.7.4 向消息中添加上下文
16.8 将使用者调整为全异步
16.9 将聊天室应用程序与现有视图集成
16.10 附加资源
16.11 本章小结
第17章 生产环境
17.1 创建生产环境
17.1.1 针对多个环境管理设置项
17.1.2 本地环境设置项
17.1.3 运行本地环境
17.1.4 生产环境设置项
17.2 使用Docker Compose
17.2.1 安装Docker Compose
17.2.2 创建Dockerfile
17.2.3 添加Python需求条件
17.2.4 创建Docker Compose
17.2.5 配置Postgre SQL服务
17.2.6 应用数据库迁移并创建超级用户
17.2.7 配置Redis服务
17.3 利用WSGI和NGINX服务于Django
17.3.1 使用uWSGI
17.3.2 配置uWSGI
17.3.3 使用NGINX
17.3.4 配置NGINX
17.3.5 使用主机名
17.3.6 服务于静态和媒体数据资源
17.4 基于SSL/TLS的站点的安全
17.4.1 针对生产环境检查项目
17.4.2 针对SSL/TLS配置Django项目
17.4.3 生成SSL/TLS证书
17.4.4 配置NGINX以使用SSL/TLS
17.4.5 将HTTP流量重定向至HTTPS
17.5 针对Django Channels使用Daphne
17.5.1 针对WebSocket使用安全的连接
17.5.2 在NGINX配置中包含Daphne
17.6 创建自定义中间件
17.6.1 创建子域中间件
17.6.2 利用NGINX服务于多个子域
17.7 实现自定义管理命令
17.8 附加资源
17.9 本章小结
同类热销排行榜
- C语言与程序设计教程(高等学校计算机类十二五规划教材)16
- 电机与拖动基础(教育部高等学校自动化专业教学指导分委员会规划工程应用型自动化专业系列教材)13.48
- 传感器与检测技术(第2版高职高专电子信息类系列教材)13.6
- ASP.NET项目开发实战(高职高专计算机项目任务驱动模式教材)15.2
- Access数据库实用教程(第2版十二五职业教育国家规划教材)14.72
- 信号与系统(第3版下普通高等教育九五国家级重点教材)15.08
- 电气控制与PLC(普通高等教育十二五电气信息类规划教材)17.2
- 数字电子技术基础(第2版)17.36
- VB程序设计及应用(第3版十二五职业教育国家规划教材)14.32
- Java Web从入门到精通(附光盘)/软件开发视频大讲堂27.92
推荐书目
-
孩子你慢慢来/人生三书 华人世界率性犀利的一枝笔,龙应台独家授权《孩子你慢慢来》20周年经典新版。她的《...
-
时间简史(插图版) 相对论、黑洞、弯曲空间……这些词给我们的感觉是艰深、晦涩、难以理解而且与我们的...
-
本质(精) 改革开放40年,恰如一部四部曲的年代大戏。技术突变、产品迭代、产业升级、资本对接...