新書推薦:
《
可转债——新手理财的极简工具
》
售價:NT$
296.0
《
新加坡教育:神话与现实
》
售價:NT$
439.0
《
“口袋中的世界史”第一辑·冷战中的危机事件
》
售價:NT$
1326.0
《
绝美的奥伦堡蕾丝披肩编织
》
售價:NT$
806.0
《
狂飙年代:18世纪俄国的新文化和旧文化(第二卷)
》
售價:NT$
806.0
《
万有引力书系 纳粹亿万富翁 德国财富家族的黑暗历史
》
售價:NT$
500.0
《
中国常见植物野外识别手册:青海册
》
售價:NT$
347.0
《
三星堆对话古遗址(从三星堆出发,横跨黄河流域,长江流域,对话11处古遗址,探源多元一体的中华文明)
》
售價:NT$
398.0
|
編輯推薦: |
1.本书内容极其丰富、文字通俗易懂,适合入门并得到迅速提高。
2.本书详细讲解关键框架flask和Django。
3.本书案例丰富、项目典型,步骤详细,手把手教学,查阅方便。
4.本书配备相关代码资源,可直接调试。
5.本书配备工程师宝典APP电子书(纸电同步),讲课视频,资源库、社区技术支持、QQ在线等服务。
|
內容簡介: |
《Python Web开发手册:基础·实战·强化》是“计算机科学与技术手册系列”图书之一,该系列图书内容全面,以理论联系实际、能学到并做到为宗旨,以技术为核心,以案例为辅助,引领读者全面学习基础技术、代码编写方法和具体应用项目。旨在为想要进入相应领域或者已经在该领域深耕多年的技术人员提供新而全的技术性内容及案例。
本书以Python语言为载体讲解Web开发,分为4篇,分别是:Web基础篇、Flask框架实战篇、Django框架实战篇和项目强化篇,共30章,内容由浅入深,循序渐进,使读者在打好基础的同时逐步提升。本书内容包含了Web开发的基础知识和数据库相关知识,以较大篇幅讲解了目前应用较广的两个框架(Flask和Django)和相应的14个关键案例,同时配备了两个大型项目,使读者能够同步做出产品,达到学到并且做到的目的。
本书适合Python Web开发从业者、Python开发程序员、Python开发以及人工智能的爱好者阅读,也可供高校计算机相关专业师生参考。
|
關於作者: |
明日科技是一家以软件开发和教育为主的高科技公司,为国家高新技术企业和双软认证企业。开发的系统有铁路多媒体查询系统、长春电子地图、天气预报系统、矿山瓦斯报警系统等软件产品。开发的图书有《程序开发范例宝典》、《软件开发视频大讲堂》、《软件开发1200例》、《零基础学系列》、《项目开发实战入门》等多个系列图书,多个品种荣获“全行业**畅销书”奖项,《软件开发视频大讲堂》、《零基础学系列》系列是目前市场上畅销的专业基础编程类丛书。
|
目錄:
|
第1篇 Web基础篇
第1章 Web基础
1.1 Web概述 3
1.1.1 Web的发展历程 3
1.1.2 Web程序工作原理 4
1.2 Web框架简介 5
1.2.1 ORM简介 5
1.2.2 模板引擎 5
1.3 常用的Python Web框架 6
1.3.1 Flask 6
1.3.2 Django 6
1.3.3 Tornado 6
1.4 搭建Web开发环境 6
1.4.1 创建虚拟环境 6
1.4.2 pip包管理工具 7
1.4.3 切换镜像源 9
第2章 前端基础
2.1 HTML基础 12
2.1.1 HTML简介 12
【实例2.1】个HTML页面 12
2.1.2 标签和元素 13
2.1.3 表单 15
2.2 CSS基础 18
2.2.1 基础知识 18
2.2.2 嵌入CSS样式 19
【实例2.2】添加CSS样式 19
【实例2.3】使用外部样式表 21
2.3 JavaScript基础 21
2.3.1 基本语法 21
2.3.2 使用JavaScript 23
【实例2.4】弹出对话框 23
【实例2.5】使用外部JavaScript文件方式修改实例2.4 24
2.4 jQuery基础 24
2.4.1 使用jQuery 25
2.4.2 基本语法 25
2.4.3 选择器 26
【实例2.6】隐藏
标签 26
2.4.4 触发事件 28
2.4.5 内容和属性 29
【实例2.7】检测用户填写的用户名和密码是否符合要求 29
2.5 Bootstrap框架 31
2.5.1 安装Bootstrap 31
2.5.2 基本使用 32
【实例2.8】创建一个全屏幕宣传页面 32
2.6 综合案例——导航栏菜单 33
2.7 实战练习 34
第3章 MySQL的使用
3.1 MySQL的安装及配置 36
3.1.1 MySQL简介 36
3.1.2 安装MySQL 36
3.1.3 配置MySQL 37
3.2 库的相关操作 38
3.2.1 创建数据库 38
3.2.2 查看数据库 39
3.2.3 删除数据库 39
3.3 表的相关操作 40
3.3.1 创建数据表 40
3.3.2 查看数据表 41
3.3.3 修改表结构 42
3.3.4 删除数据表 42
3.4 数据类型 43
3.4.1 数字类型 43
3.4.2 字符串类型 44
3.4.3 日期和时间类型 45
3.5 数据的增查改删 45
3.5.1 增加数据 45
3.5.2 查询数据 46
3.5.3 修改数据 49
3.5.4 删除数据 49
3.6 PyMySQL操作数据库 50
3.6.1 安装PyMySQL 50
3.6.2 连接数据库 50
3.6.3 游标对象 51
【实例3.1】向mrsoft数据库中添加books图书表 52
3.6.4 操作数据库 53
【实例3.2】向books图书表中添加图书数据 53
3.7 ORM模型 54
3.7.1 ORM简介 54
3.7.2 常用的ORM库 55
3.8 综合案例——从数据库查询并筛选数据 55
3.8.1 设计SQL 55
3.8.2 实现过程 55
3.9 实战练习 56
第2篇 Flask框架实战篇
第4章 Flask快速应用
4.1 Flask基础 59
4.1.1 Flask简介 59
4.1.2 安装Flask 59
4.2 使用Flask输出Hello World!/?60
4.2.1 个Flask程序 60
【实例4.1】输出Hello World! 60
4.2.2 开启debug 60
4.3 路由 61
4.3.1 变量规则 61
【实例4.2】根据不同的用户名参数,输出相应的用户信息 61
4.3.2 构造URL 62
4.3.3 HTTP 方法 62
4.3.4 静态文件 63
4.4 综合案例——模拟登录 63
4.5 实战练习 64
第5章 Flask的请求与响应
5.1 请求参数 66
5.1.1 GET请求 66
【实例5.1】获取GET请求参数 66
5.1.2 POST请求 67
【实例5.2】获取表单提交信息 67
5.2 文件上传 68
【实例5.3】实现上传用户图片功能 68
5.3 钩子函数的应用 70
【实例5.4】使用请求钩子,在执行视图函数前后执行相应的函数 71
5.4 接收响应 72
5.5 响应的格式 72
5.5.1 MIME类型 72
5.5.2 JSON数据 73
5.6 Flask会话 73
5.6.1 Cookie对象 74
【实例5.5】使用Cookie判断用户是否登录 74
5.6.2 Session对象 76
5.7 综合案例——用户登录 77
5.8 实战练习 77
第6章 Jinja2模板引擎
6.1 Flask使用Jinja2模板引擎 80
6.1.1 Jinja2简介 80
6.1.2 渲染模板 80
【实例6.1】渲染首页模板 80
6.2 模板中传递参数 82
6.3 模板的控制语句 83
6.3.1 if语句 83
6.3.2 for语句 83
6.3.3 模板上下文 83
【实例6.2】使用Session判断用户是否登录 84
6.4 Jinja2的过滤器 85
6.4.1 常用的过滤器 85
6.4.2 自定义过滤器 85
【实例6.3】Flask应用对象的add_template_filter方法定义过滤器 85
【实例6.4】使用app.template_filter()装饰器定义过滤器 86
6.5 宏的应用 87
6.5.1 宏的定义 87
6.5.2 宏的导入 87
6.5.3 include的使用 87
6.6 模板的继承 87
【实例6.5】使用子模板继承父模板 88
6.7 提示信息 90
【实例6.6】使用flash闪现用户登录成功或失败的消息 90
6.8 综合案例——自定义错误页面 91
6.8.1 需求分析 92
6.8.2 实现过程 92
6.9 实战练习 93
第7章 Flask视图与蓝图
7.1 绑定视图函数 95
7.1.1 使用app.route 95
7.1.2 使用add_url_rule 95
7.2 类视图 96
7.2.1 标准类视图 96
7.2.2 基于调度方法的类视图 98
7.3 装饰器 99
7.3.1 装饰器的定义 99
7.3.2 基本应用 99
7.3.3 带参函数使用装饰器 101
7.4 蓝图 102
7.4.1 简介 103
7.4.2 使用蓝图 103
【实例7.1】使用蓝图创建前台和后台应用 103
7.5 表单 104
7.5.1 CSRF 104
7.5.2 表单类 105
7.6 综合案例——验证用户登录 106
7.7 实战练习 108
第8章 Flask操作数据库
8.1 常用扩展 110
8.1.1 Flask-SQLAlchemy扩展 110
8.1.2 Flask-Migrate扩展 112
8.1.3 Flask-Script扩展 114
8.2 管理数据库 117
8.2.1 连接数据库 117
8.2.2 定义数据模型 118
8.2.3 定义关系 119
8.3 增查改删 121
8.3.1 创建数据 121
8.3.2 读取数据 121
8.3.3 更新数据 123
8.3.4 删除数据 123
8.4 综合案例——创建数据表 123
8.4.1 案例说明 123
8.4.2 实现案例 123
8.5 实战练习 125
第9章 【案例】Flask_SQLAlchemy筛选网易云免费课程
9.1 案例效果预览 126
9.2 案例准备 127
9.3 业务流程 127
9.4 实现过程 127
9.4.1 创建数据表 128
9.4.2 设置过滤器 129
9.5 关键技术 132
第10章 【案例】Splitlines解析数据库文本中的换行内容
10.1 案例效果预览 134
10.2 案例准备 134
10.3 业务流程 135
10.4 实现过程 135
10.4.1 项目结构 135
10.4.2 安装模块 135
10.4.3 连接数据库 135
10.4.4 业务逻辑 136
10.4.5 创建父模板 136
10.4.6 创建详情文件 137
10.5 关键技术 138
第11章 【案例】Flask_Login用户登录校验
11.1 案例效果预览 139
11.2 案例准备 140
11.3 业务流程 140
11.4 实现过程 140
11.4.1 登录与权限校验 140
11.4.2 更改密码 145
11.4.3 登录成功后的处理 148
11.5 关键技术 150
第12章 【案例】ECharts显示折线图
12.1 案例效果预览 153
12.2 案例准备 153
12.3 业务流程 154
12.4 实现过程 154
12.4.1 安装依赖 154
12.4.2 连接数据库 154
12.4.3 业务逻辑 155
12.4.4 渲染页面 155
12.5 关键技术 160
第13章 【案例】员工信息审核
13.1 案例效果预览 161
13.2 案例准备 162
13.3 业务流程 162
13.4 实现过程 162
13.5 关键技术 166
第14章 【案例】网页底部Tab栏设计
14.1 案例效果预览 167
14.2 案例准备 167
14.3 业务流程 168
14.4 实现过程 168
14.4.1 设置路由 168
14.4.2 创建父模板 168
14.4.3 继承父模板 169
14.5 关键技术 170
第15章 【案例】多条件查询的使用
15.1 案例效果预览 171
15.2 案例准备 172
15.3 业务流程 172
15.4 实现过程 172
15.4.1 概述 172
15.4.2 筛选酒店信息 173
15.4.3 学生选课系统 175
15.5 关键技术 176
第3篇 Django框架实战篇
第16章 Django快速应用
16.1 使用Django框架 179
16.1.1 新版本特性 179
16.1.2 安装Django 179
16.2 个Django项目 179
【实例16.1】使用命令行创建项目 179
16.3 创建Django应用 180
16.4 URL组成部分 182
16.5 路由 182
16.5.1 路由形式 182
【实例16.2】定义路由并创建路由函数 183
16.5.2 include的使用 184
16.6 管理后台 185
16.7 综合案例——Hello Django 187
16.8 实战练习 189
第17章 Django模板引擎
17.1 DTL介绍 191
17.1.1 DTL简介 191
17.1.2 渲染模板 191
【实例17.1】创建并渲染模板 191
17.1.3 模板路径 193
17.2 模板变量 193
17.3 常用标签 194
17.4 过滤器 197
17.4.1 常用过滤器 197
17.4.2 自定义过滤器 199
17.5 简化模板 200
17.5.1 引入模板 200
17.5.2 继承模板 201
17.6 加载静态文件 202
17.7 综合案例——时间过滤器 202
17.8 实战练习 204
第18章 Django视图与表单
18.1 视图简介 206
18.1.1 视图函数 206
【实例18.1】创建获取当前日期的视图函数 206
18.1.2 视图类 206
18.2 请求装饰器 210
18.3 请求与响应 210
18.3.1 请求对象 211
18.3.2 响应对象 211
18.4 重定向 212
18.5 自定义错误页面 213
18.6 使用表单 214
18.6.1 表单的基本使用 214
18.6.2 验证数据 215
18.7 ModelForm 217
18.7.1 使用方法 217
18.7.2 字段类型 219
18.7.3 表单验证 220
18.7.4 save()方法 221
18.7.5 字段选择 222
18.8 文件上传 222
18.9 综合案例——用户注册 224
18.10 实战练习 226
第19章 Django模型与数据库
19.1 数据库操作 228
19.2 ORM模型 228
19.2.1 添加数据模型 229
19.2.2 数据迁移 230
19.2.3 数据API 231
19.3 多关联模型 233
19.3.1 一对一 233
19.3.2 多对一 235
19.3.3 多对多 238
19.4 定制管理后台 241
19.4.1 ModelAdmin.fields 241
19.4.2 ModelAdmin.fieldset 242
19.4.3 ModelAdmin.list_display 244
19.4.4 ModelAdmin.list_display_links 246
19.4.5 ModelAdmin.list_editable 246
19.4.6 ModelAdmin.list_filter 247
19.5 综合案例——使用模型操作数据库 250
19.6 实战练习 252
第20章 Django缓存
20.1 Session会话 254
20.1.1 启用会话 254
20.1.2 配置会话引擎 254
20.1.3 常用方法 255
20.1.4 自动登录 256
【实例20.1】使用会话实现登录功能 256
20.1.5 退出登录 259
20.2 Memcached缓存系统 259
20.3 Redis数据库 261
20.4 用户权限 263
20.4.1 用户对象 264
20.4.2 权限和分组 266
20.5 综合案例——登录验证 268
20.6 实战练习 268
第21章 【案例】Celery异步发送验证邮件
21.1 案例效果预览 269
21.2 案例准备 269
21.3 业务流程 270
21.4 实现过程 270
21.4.1 数据迁移 270
21.4.2 邮箱配置 271
21.4.3 设置路由 272
21.4.4 前端页面 272
21.4.5 业务逻辑 273
21.4.6 异步任务 274
21.4.7 启动项目 275
21.5 关键技术 275
第22章 【案例】自定义Admin命令
22.1 案例效果预览 276
22.2 案例准备 276
22.3 业务流程 277
22.4 实现过程 277
22.4.1 定义命令 277
22.4.2 项目日志 278
22.5 关键技术 281
第23章 【案例】Channels实现Web Socket聊天室
23.1 案例效果预览 282
23.2 案例准备 283
23.3 业务流程 283
23.4 实现过程 283
23.4.1 安装Channels 283
23.4.2 创建APP 284
23.4.3 配置模板 284
23.4.4 添加路由 285
23.4.5 配置Channels路由 285
23.4.6 完成WebSocket 287
23.4.7 升级为异步执行 287
23.5 关键技术 290
第24章 【案例】Paginator实现数据分页
24.1 案例效果预览 291
24.2 案例准备 291
24.3 业务流程 292
24.4 实现过程 292
24.4.1 添加路由 292
24.4.2 分页逻辑 292
24.4.3 渲染模板 293
24.4.4 运行程序 294
24.5 关键技术 294
第25章 【案例】Ajax多级下拉框联动
25.1 案例效果预览 296
25.2 案例准备 296
25.3 业务流程 296
25.4 实现过程 297
25.4.1 匹配路由 297
25.4.2 添加模板 297
25.4.3 业务逻辑 298
25.4.4 关闭CSRF防护 298
25.5 关键技术 299
第26章 【案例】Haystack站内全局搜索引擎
26.1 案例效果预览 301
26.2 案例准备 301
26.3 业务流程 302
26.4 实现过程 302
26.4.1 准备环境 302
26.4.2 注册模块 302
26.4.3 配置搜索引擎 303
26.4.4 业务逻辑 304
26.4.5 渲染模板 304
26.5 关键技术 306
第27章 【案例】Message消息提示
27.1 案例效果预览 307
27.2 案例准备 307
27.3 业务流程 307
27.4 实现过程 308
27.4.1 配置文件 308
27.4.2 消息引擎 309
27.4.3 添加路由 309
27.4.4 业务逻辑 309
27.4.5 渲染模板 310
27.5 关键技术 311
第4篇 项目强化篇
第28章 基于Flask框架的51商城
28.1 系统需求分析 314
28.2 系统功能设计 314
28.2.1 系统功能结构 314
28.2.2 系统业务流程 314
28.2.3 系统预览 315
28.3 系统开发 319
28.3.1 系统开发环境 319
28.3.2 文件夹组织结构 319
28.4 数据库设计 320
28.4.1 数据库概要说明 320
28.4.2 数据表模型 320
28.4.3 数据表关系 322
28.5 会员注册模块设计 323
28.5.1 会员注册模块概述 323
28.5.2 会员注册页面 323
28.5.3 验证并保存注册信息 327
28.6 会员登录模块设计 328
28.6.1 会员登录模块概述 328
28.6.2 创建会员登录页面 328
28.6.3 保存会员登录状态 331
28.6.4 会员退出功能 331
28.7 首页模块设计 332
28.7.1 首页模块概述 332
28.7.2 显示上架商品 333
28.7.3 显示打折商品 334
28.7.4 显示热门商品 335
28.8 购物车模块 336
28.8.1 购物车模块概述 336
28.8.2 显示商品详细信息 336
28.8.3 添加购物车 338
28.8.4 查看购物车 339
28.8.5 保存订单 340
28.8.6 查看订单 341
28.9 后台功能模块设计 341
28.9.1 后台登录模块设计 341
28.9.2 商品管理模块设计 342
28.9.3 销量排行榜模块设计 343
28.9.4 会员管理模块设计 343
28.9.5 订单管理模块设计 344
第29章 基于Django框架的综艺之家管理系统
29.1 系统需求分析 346
29.1.1 系统概述 346
29.1.2 系统可行性分析 346
29.1.3 系统用户角色分配 346
29.1.4 功能性需求分析 347
29.1.5 非功能性需求分析 347
29.2 系统功能设计 347
29.2.1 系统功能结构 347
29.2.2 系统业务流程 347
29.2.3 系统预览 348
29.3 系统开发 349
29.3.1 系统开发环境 349
29.3.2 文件夹组织结构 350
29.4 数据库设计 350
29.4.1 数据库概要说明 350
29.4.2 数据表模型 350
29.4.3 数据表关系 352
29.5 综艺管理模块设计 352
29.5.1 实现后台录入综艺信息和综艺视频的功能 353
29.5.2 前台首页功能 354
29.5.3 综艺详情页功能 356
29.6 搜索功能模块设计 359
29.7 分类功能模块设计 361
29.8 社交管理模块设计 364
29.8.1 安装django-spirit模块 364
29.8.2 发帖和回帖功能 365
29.8.3 论坛管理后台功能 366
29.9 可视化展示模块设计 367
29.9.1 ECharts开源可视化图表库基本使用 367
29.9.2 AJAX异步加载图表数据 369
第30章 Web项目部署
30.1 常见的部署方式 374
30.1.1 WSGI 374
30.1.2 Gunicorn 374
30.1.3 Nginx 374
30.1.4 supervisor 375
30.2 云服务器配置 375
30.2.1 常用的云服务器 375
30.2.2 pip包管理工具 377
30.2.3 虚拟环境 378
30.3 使用Gunicorn 379
30.3.1 使用参数启动Gunicorn 379
30.3.2 加载配置文件启动Gunicorn 381
30.4 使用Nginx 381
30.4.1 安装Nginx 381
30.4.2 Nginx的启停 382
30.4.3 配置文件 382
30.4.4 静态文件 383
30.4.5 代理服务器 383
30.5 使用supervisor 384
30.5.1 配置文件 385
30.5.2 常用命令 386
30.5.3 启动程序 386
附录
附录1 Flask框架常用类和函数 388
附录2 Flask框架请求对象提供的常用属性或方法 388
附录3 Flask框架响应对象提供的属性或方法 389
附录4 Flask框架常用扩展 389
附录5 Django框架常用命令 389
附录6 Django框架setting.py常用配置 390
附录7 Django框架ORM常用API 390
|
內容試閱:
|
从工业4.0到“十四五”规划,我国信息时代正式踏上新的阶梯,电子设备已经普及,在人们的日常生活中随处可见。信息社会给人们带来了极大的便利,信息捕获、信息处理分析等在各个行业得到普遍应用,推动整个社会向前稳固发展。
计算机设备和信息数据的相互融合,对各个行业来说都是一次非常大的进步,已经渗入到工业、农业、商业、军事等领域,同时其相关应用产业也得到一定发展。就目前来看,各类编程语言的发展、人工智能相关算法的应用、大数据时代的数据处理和分析都是计算机科学领域各大高校、各个企业在不断攻关的难题,是挑战也是机遇。因此,我们策划编写了“计算机科学与技术手册系列”图书,旨在为想要进入相应领域的初学者或者已经在该领域深耕多年的从业者提供新而全的技术性内容,以及丰富、典型的实战案例。
目前,国内各大企业对Python人才的需求急剧上升,薪资水平也节节攀升,就业前景极其广阔。迄今为止,业内几乎所有大中型互联网企业都在使用Python,如:豆瓣、知乎、百度、腾讯、拉勾网、美团、YouTube、Facebook、Google和Yahoo等。很多知名的企业网站都是使用Python的Web框架进行开发的,因此熟练掌握Web框架对于Python语言的学习者来说也极其重要。
本书内容
全书共分为30章,主要通过“Web基础篇(3章) Flask框架实战篇(12章) Django框架实战篇(12章) 项目强化篇(3章)”4大维度一体化进行讲解,具体的知识结构如下图所示。
本书中主要介绍了进行Web开发的两大常用框架Flask和Django框架。读者可以根据需要选择性学习。
本书特色
1.突出重点、学以致用
书中每个知识点都结合了简单易懂的示例代码以及非常详细的注释信息,力求能够让读者快速理解所学知识,提高学习效率,缩短学习路径。
2.提升思维、综合运用
本书以知识点综合运用的方式,带领读者学习各种趣味性较强的Python Web开发案例,让读者不断开拓Python Web开发思维,还可以快速提高对知识点的综合运用能力,让读者能够回顾以往所学的知识点,并结合新的知识点进行综合应用。
3.综合技术、实际项目
本书在项目强化篇中提供了两个贴近生活应用的项目,力求通过实际应用使读者更容易地掌握Python Web开发的流程。Python Web开发都是根据实际开发经验总结而来,包含了在实际开发中所遇到的各种问题。项目结构清晰、扩展性强,读者可根据个人需求进行扩展开发。
4.精彩栏目、贴心提示
本书根据实际学习的需要,设置了“注意”“说明”等许多贴心的小栏目,辅助读者轻松理解所学知识,规避编程陷阱。
本书由明日科技的Python开发团队策划并组织编写,主要编写人员有李再天、王国辉、高春艳、李磊、冯春龙、王小科、赛奎春、申小琦、赵宁、张鑫、周佳星、杨柳、葛忠月、李春林、宋万勇、张宝华、杨丽、刘媛媛、庞凤、胡冬、梁英、谭畅、何平、李菁菁、依莹莹、宋磊等。在编写本书的过程中,我们本着科学、严谨的态度,力求精益求精,但疏漏之处在所难免,敬请广大读者批评指正。
感谢您阅读本书,希望本书能成为您编程路上的领航者。
祝您读书快乐!
编著者
|
|