首页 > 图书中心 > Django 3项目实例精解

目录

目    录

第1章  构建博客应用程序 1

1.1  安装Django 1

1.1.1  创建隔离的Python环境 2

1.1.2  利用pip安装Django 3

1.2  创建第一个项目 3

1.2.1  运行开发服务器 5

1.2.2  项目设置 7

1.2.3  项目和应用程序 8

1.2.4  创建应用程序 8

1.3  设计博客数据方案 9

1.3.1  激活应用程序 11

1.3.2  设置并使用迁移方案 11

1.4  针对模型创建管理站点 13

1.4.1  创建超级用户 13

1.4.2  Django管理站点 14

1.4.3  向管理站点中添加模型 15

1.4.4  定制模型的显示方式 17

1.5  与QuerySet和管理器协同工作 18

1.5.1  创建对象 19

1.5.2  更新对象 20

1.5.3  检索对象 20

1.5.4  删除对象 22

1.5.5  评估QuerySet 22

1.5.6  创建模型管理器 22

1.6  构建列表和详细视图 23

1.6.1  生成列表和视图 24

1.6.2  向视图添加URL路径 25

1.6.3  模型的标准URL 26

1.7  创建视图模板 27

1.8  添加分页机制 30

1.9  使用基于类的视图 33

1.10  本章小结 34

第2章  利用高级特性完善博客程序 35

2.1  通过电子邮件共享帖子 35

2.1.1  使用Django创建表单 36

2.1.2  处理视图中的表单 37

2.1.3  利用Django发送邮件 38

2.1.4  渲染模板中的表单 41

2.2  构建评论系统 44

2.2.1  构建模型 44

2.2.2  创建模型中的表单 46

2.2.3  处理视图中的ModelForms 47

2.2.4  向帖子详细模板中添加评论 49

2.3  添加标签功能 52

2.4  根据相似性检索帖子 58

2.5  本章小结 60

第3章  扩展博客应用程序 61

3.1  创建自定义模板标签和过滤器 61

3.1.1  自定义模板标签 61

3.1.2  自定义模板过滤器 66

3.2  向站点添加网站地图 69

3.3  创建帖子提要 72

3.4  向博客中添加全文本搜索功能 74

3.4.1  安装PostgreSQL 75

3.4.2  简单的查询操作 76

3.4.3  多字段搜索 76

3.4.4  构建搜索视图 77

3.4.5  词干提取和排名 79

3.4.6  加权查询 81

3.4.7  利用三元相似性进行搜索 81

3.4.8  其他全文本搜索引擎 82

3.5  本章小结 82

第4章  构建社交型网站 83

4.1  创建社交型网站 83

4.2  使用Django验证框架 84

4.2.1  构建登录视图 85

4.2.2  使用Django验证视图 90

4.2.3  登录和注销视图 91

4.2.4  修改密码视图 96

4.2.5  重置密码视图 98

4.3  用户注册和用户配置 104

4.3.1  用户注册 104

4.3.2  扩展用户模型 107

4.3.3  使用自定义用户模型 113

4.3.4  使用消息框架 113

4.4  构建自定义验证后端 116

4.5  向站点中添加社交网站验证 118

4.5.1  通过HTTPS运行开发服务器 119

4.5.2  基于Facebook的验证 121

4.5.3  基于Twitter的验证 126

4.5.4  基于Google的验证 128

4.6  本章小结 134

第5章  共享网站中的内容 135

5.1  构建图像书签网站 135

5.1.1  构建图像模型 136

5.1.2  生成多对多关系 137

5.1.3  在管理站点中注册图像模型 138

5.2  发布其他站点中的内容 139

5.2.1  清空表单字段 139

5.2.2  覆写ModelForm的save()方法 140

5.2.3  利用jQuery构建书签工具 145

5.3  创建图像的细节视图 152

5.4  利用easy-thumbnails生成图像缩略图 155

5.5  利用jQuery添加AJAX操作 156

5.5.1  加载jQuery 157

5.5.2  AJAX请求中的跨站点请求伪造 158

5.5.3  利用jQuery执行AJAX请求 159

5.6  针对视图创建自定义装饰器 163

5.7  向列表视图中添加AJAX分页机制 164

5.8  本章小结 169

第6章  跟踪用户活动 171

6.1  构建关注系统 171

6.1.1  利用中间模型创建多对多关系 171

6.1.2  针对用户配置创建列表和详细视图 174

6.1.3  构建AJAX视图以关注用户 179

6.2  构建通用活动流应用程序 181

6.2.1  使用contenttypes框架 182

6.2.2  向模型中添加通用关系 183

6.2.3  避免活动流中的重复内容 186

6.2.4  向活动流中添加用户活动 187

6.2.5  显示活动流 188

6.2.6  优化涉及关系对象的QuerySet 188

6.2.7  针对操作活动创建模板 189

6.3  利用信号实现反规范化计数 192

6.3.1  与信号协同工作 192

6.3.2  应用程序配置类 194

6.4  利用Redis存储数据项视图 196

6.4.1  安装Redis 196

6.4.2  结合Python使用Redis 198

6.4.3  将数据视图存储于Redis中 199

6.4.4  将排名结果存储于数据库中 200

6.4.5  Redis特性 203

6.5  本章小结 203

第7章  构建在线商店 205

7.1  创建在线商店项目 205

7.1.1  创建商品目录模型 206

7.1.2  注册管理站点上的目录模型 208

7.1.3  构建目录视图 210

7.1.4  创建目录模板 212

7.2  创建购物车 216

7.2.1  使用Django会话 217

7.2.2  会话设置 217

7.2.3  会话过期 218

7.2.4  将购物车存储于会话中 219

7.2.5  创建购物车视图 223

7.2.6  针对购物车创建上下文处理器 230

7.3  注册客户订单 232

7.3.1  创建订单模型 232

7.3.2  在管理站点中包含订单模型 234

7.3.3  创建客户订单 235

7.4  利用Celery启动异步任务 240

7.4.1  安装Celery 240

7.4.2  安装RabbitMQ 240

7.4.3  向项目中添加Celery 241

7.4.4  向应用程序中添加异步任务 242

7.4.5  监视Celery 244

7.5  本章小结 244

第8章  管理支付操作和订单 245

8.1  整合支付网关 245

8.1.1  创建Braintree沙箱账号 245

8.1.2  安装Braintree Python模块 247

8.1.3  集成支付网关 247

8.1.4  使用托管字段集成Braintree 249

8.1.5  支付的测试操作 255

8.1.6  上线 257

8.2  将订单导出为CSV文件 257

8.3  利用自定义视图扩展管理站点 260

8.4  动态生成PDF发票 265

8.4.1  安装WeasyPrint 265

8.4.2  创建PDF模板 265

8.4.3  显示PDF文件 267

8.4.4  通过电子邮件发送PDF文件 270

8.5  本章小结 273

第9章  扩展在线商店应用程序 275

9.1  创建优惠券系统 275

9.1.1  构建优惠券模型 276

9.1.2  在购物车中使用优惠券 278

9.1.3  在订单中使用优惠券 284

9.2  添加国际化和本地化机制 286

9.2.1  Django的国际化处理 286

9.2.2  项目的国际化 288

9.2.3  翻译Python代码 290

9.2.4  翻译模板 295

9.2.5  使用Rosetta翻译接口 299

9.2.6  模糊翻译 302

9.2.7  国际化的URL路径 302

9.2.8  切换语言 304

9.2.9  利用django-parler翻译模块 306

9.2.10  本地化格式 314

9.2.11  使用django-localflavor验证表单字段 315

9.3  构建推荐引擎 316

9.4  本章小结 324

第10章  打造网络教学平台 325

10.1  设置网络教学项目 325

10.2  构建课程模型 326

10.2.1  在管理站点中注册模型 328

10.2.2  使用固定文件提供模型的初始数据 329

10.3  创建包含多样化内容的模型 332

10.3.1  使用模型继承机制 332

10.3.2  创建内容模型 334

10.3.3  创建自定义模型字段 337

10.3.4  向模块和内容对象中添加顺序机制 338

10.4  创建CMS 343

10.4.1  添加认证系统 343

10.4.2  创建认证模板 343

10.4.3  设置基于类的视图 346

10.4.4  针对基于类的视图使用混合类 347

10.4.5  分组和权限 349

10.4.6  限制访问基于类的视图 351

10.5  管理课程模块和内容 356

10.5.1  针对课程模块使用表单集 357

10.5.2  向课程模块中添加内容 361

10.5.3  管理模块和内容 366

10.5.4  对模块和内容重排序 370

10.6  本章小结 374

第11章  渲染和缓存内容 375

11.1  显示课程 375

11.2  添加学生注册机制 380

11.2.1  创建学生注册视图 381

11.2.2  注册课程 383

11.3  访问课程内容 387

11.4  渲染不同内容的类型 390

11.5  使用缓存框架 393

11.5.1  有效的缓存后端 394

11.5.2  安装Memcached 394

11.5.3  缓存设置 395

11.5.4  向项目中添加Memcached 395

11.5.5  监控Memcached 396

11.5.6  缓存级别 397

11.5.7  使用底层缓存API 397

11.5.8  缓存动态数据 399

11.5.9  缓存模板片段 400

11.5.10  缓存视图 402

11.5.11  使用每个站点缓存 402

11.6  本章小结 403

第12章  构建API 405

12.1  构建RESTful API 405

12.1.1  安装Django REST框架 406

12.1.2  定义序列化器 407

12.1.3  理解解析器和渲染器 408

12.1.4  构建列表和详细视图 409

12.1.5  创建嵌套序列化器 412

12.1.6  构建自定义视图 413

12.1.7  处理身份验证 414

12.1.8  向视图中添加权限 415

12.1.9  创建视图集和路由器 417

12.1.10  向视图集添加附加操作 418

12.1.11  创建自定义权限 419

12.1.12  序列化课程内容 420

12.1.13  使用RESTful API 422

12.2  本章小结 425

第13章  搭建聊天服务器 427

13.1  创建聊天应用程序 427

13.1.1  实现聊天室视图 428

13.1.2  禁用站点缓存 430

13.2  基于Channels的实时Django 431

13.2.1  基于ASGI的异步应用程序 431

13.2.2  基于Channels的请求/响应周期 431

13.3  安装Channels 433

13.4  编写使用者 435

13.5  路由机制 436

13.6  实现WebSocket客户端 437

13.7  启用通道层 442

13.7.1  通道和分组 443

13.7.2  利用Redis设置通道层 443

13.7.3  更新使用者以广播消息 444

13.7.4  将上下文添加至消息中 448

13.8  调整使用者使其处于完全异步状态 451

13.9  集成聊天应用程序和视图 453

13.10  本章小结 454

第14章  部署项目 455

14.1  创建产品环境 455

14.1.1  针对多种环境管理设置内容 455

14.1.2  使用PostgreSQL 458

14.1.3  项目检查 458

14.1.4  通过WSGI为Django提供服务 459

14.1.5  安装uWSGI 459

14.1.6  配置uWSGI 459

14.1.7  安装NGINX 462

14.1.8  产品环境 463

14.1.9  配置NGINX 463

14.1.10  向静态和媒体数据集提供服务 465

14.1.11  基于SSL/TLS的安全连接 467

14.1.12  针对Django Channels使用Daphne 472

14.1.13  使用安全的WebSocket连接 473

14.1.14  将Daphne包含于NGINX配置中 473

14.2  创建自定义中间件 476

14.2.1  创建子域名中间件 477

14.2.2  利用NGINX向多个子域名提供服务 479

14.3  实现自定义管理命令 479

14.4  本章小结 482

版权所有(C)2022 清华大学出版社有限公司 京ICP备10035462号 京公网安备11010802013248号

联系我们 | 网站地图 | 法律声明 | 友情链接 | 盗版举报 | 人才招聘