-
>
决战行测5000题(言语理解与表达)
-
>
软件性能测试.分析与调优实践之路
-
>
第一行代码Android
-
>
深度学习
-
>
Unreal Engine 4蓝图完全学习教程
-
>
深入理解计算机系统-原书第3版
-
>
Word/Excel PPT 2013办公应用从入门到精通-(附赠1DVD.含语音视频教学+办公模板+PDF电子书)
Django 3项目实例精解 版权信息
- ISBN:9787302581840
- 条形码:9787302581840 ; 978-7-302-58184-0
- 装帧:一般胶版纸
- 册数:暂无
- 重量:暂无
- 所属分类:>>
Django 3项目实例精解 本书特色
Django是一个功能强大的Python Web框架,支持快速开发过程及简洁、实用的设计方案。无论是对于初学者还是专家级程序员,这一特点颇具吸引力。 《Django 3项目实例精解》将引领读者学习专业Web应用程序的开发流程。除框架知识外,《Django 3项目实例精解》还将讲解如何将其他较为流行的技术整合至Django项目中。 《Django 3项目实例精解》将讨论真实应用程序的构建过程、常见问题的处理,并逐步实现多种*佳实践 方案。 在阅读完《Django 3项目实例精解》后,读者将能够理解Django的工作方式,以及如何打造具有实用性的高级Web应用程序。
Django 3项目实例精解 内容简介
《Django 3项目实例精解》详细阐述了与Django 3.0开发相关的基本解决方案,主要包括构建博客应用程序、利用不错特性完善博客程序、扩展博客应用程序、构建社交型网站、共享网站中的内容、跟踪用户活动、构建在线商店、管理支付操作和订单、扩展在线商店应用程序、打造网络教学平台、渲染和缓存内容、构建API、搭建聊天服务器、部署项目等内容。此外,本书还提供了相应的示例、代码,以帮助读者进一步理解相关方案的实现过程。 本书适合作为高等院校计算机及相关专业的教材和教学参考书,也可作为相关开发人员的自学用书和参考手册。
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
Django 3项目实例精解 节选
第4章 构建社交型网站 第3章介绍了如何创建网站地图和摘要,并对blog应用程序构建搜索引擎。本章将开发一个社交应用程序,这意味着,用户可加入在线平台,并通过共享内容彼此交互。后续章节将重点讨论如何构建图像共享平台。用户将能够对互联网上的图像添加书签,且彼此间共享内容。除此之外,用户还可查看所关注用户在平台上的活动,并对共享图像点赞或取消点赞。 本章将介绍如何为用户创建登录、注销、编辑以及密码重置等功能。此外,本章还将学习如何设置用户的自定义配置文件,并向网站中添加验证机制。 本章主要涉及以下内容: q 使用Django授权框架。 q 创建用户注册视图。 q 利用自定义配置模型扩展用户模型。 q 利用Python Social Auth添加授权机制。 下面将开始构建新项目。 4.1 创建社交型网站 本节将介绍如何创建社交型应用程序,用户可以此共享他们在互联网中搜索的图片。针对该项目,需要设置以下元素: q 用户验证系统,以实现注册、登录、配置文件的编辑以及密码的修改和重置等操作。 q 关注系统,以使站点中的用户间可彼此查看。 q 显示共享图片,并实现用户的标签工具,进而共享来自任意网站的图片。 q 每名用户的操作流,可以使用户查看所关注用户的上传内容。 本章将对此进行逐一讨论。 打开终端,使用下列命令创建项目虚拟环境并激活该项目: mkdir env python3 -m venv env/bookmarks source env/bookmarks/bin/activate Shell提示符将显示处于活动状态下的虚拟环境,如下所示: (bookmarks)laptop:~ zenx$ 利用下列命令在虚拟环境下安装Django: pip install "Django==3.0.*" 运行下列命令并创建新项目: django-admin startproject bookmarks 在创建了初始项目结构后,通过下列命令查看项目字典,并创建名为account的新应用程序。 cd bookmarks/ django-admin startapp account 注意,这里应激活项目中的新应用程序,也就是说,将其添加至settings.py文件中的INSTALLED_APPS设置中,并在其他安装后的应用程序之前将其置于INSTALLED_ APPS列表中,如下所示: INSTALLED_APPS = [ 'account.apps.AccountConfig', # ... ] 后面将定义Django的验证模板。通过在INSTALLED_APPS设置中放置当前应用程序,可确保验证模板在默认状态下予以使用,而非其他应用程序中的验证模板。Django根据应用程序在INSTALLED_APPS设置中的出现顺序查找模板。 运行下列命令,将数据库与INSTALLED_APPS设置中包含的默认应用程序模型同步: python manage.py migrate 随后将会看到,全部初始状态下的Django数据库迁移均已投入使用。下面将通过Django的验证系统框架构建项目的验证系统。 4.2 使用Django验证框架 Django包含了内置的验证框架,并可处理用户验证、会话、许可权限以及用户组。验证系统包含了常见用户行为的视图,如登录、注销、密码修改以及密码重置。 验证框架位于django.contrib.auth中,其他Django contrib数据包也可对此加以使用。回忆一下,第1章中已经使用了验证框架,并生成了blog应用程序的超级用户以访问管理站点。 当使用startproject命令创建新的Django项目时,验证框架包含在项目的默认设置中,包括django.contrib.auth应用程序,以及下列两个项目MIDDLEWARE设置中的中间件类。 q AuthenticationMiddleware:使用会话将用户与请求关联起来。 q SessionMiddleware:处理请求间的当前会话。 中间件表示为一个类,其中包含了一些方法,可在请求或响应阶段以全局方式被执行。我们将在多种场合下使用到中间件类。此外,第14章还将学习如何创建自定义中间件。 验证框架涵盖了下列模块: q User表示包含基本字段的用户模块,该模块的主要字段包括username、password、email、first_name、last_name以及is_active。 q Group表示分组模块,以对用户进行分类。 q Permission表示用户或分组标记,并执行特定的操作。 除此之外,该框架还包含了默认的验证视图,以及供后续操作使用的表单。 4.2.1 构建登录视图 本节将使用Django验证框架使得用户可以登录当前网站。对应的视图将执行下列操作,从而实现用户登录。 (1)通过发布表单获得用户名和密码。 (2)利用存储于数据库中的数据对用户进行验证。 (3)检查用户是否属于活动状态。 (4)用户登录网站并启动验证会话。 下面首先创建登录表单。在account应用程序目录中创建新的forms.py文件,并添加下列代码行: from django import forms class LoginForm(forms.Form): username = forms.CharField() password = forms.CharField(widget=forms.PasswordInput)
- >
人文阅读与收藏·良友文学丛书:一天的工作
人文阅读与收藏·良友文学丛书:一天的工作
¥14.7¥45.8 - >
推拿
推拿
¥12.2¥32.0 - >
名家带你读鲁迅:朝花夕拾
名家带你读鲁迅:朝花夕拾
¥10.5¥21.0 - >
龙榆生:词曲概论/大家小书
龙榆生:词曲概论/大家小书
¥13.5¥24.0 - >
我从未如此眷恋人间
我从未如此眷恋人间
¥24.9¥49.8 - >
中国人在乌苏里边疆区:历史与人类学概述
中国人在乌苏里边疆区:历史与人类学概述
¥36.0¥48.0 - >
月亮与六便士
月亮与六便士
¥18.1¥42.0 - >
上帝之肋:男人的真实旅程
上帝之肋:男人的真实旅程
¥19.3¥35.0
-
网络工程师教程(第2版)
¥69.3¥99 -
Python 数据分析基础
¥41¥69 -
Python 3.5从零开始学
¥26.4¥59 -
虚拟化与容器技术
¥49.9¥69.8 -
UG NX 11.0工程图教程-(含1DVD)
¥30.4¥59.9 -
程序设计语言编译原理(第3版)
¥25.4¥39