本书适合作为高等院校计算机相关专业程序设计课程教材,也可作为Flask的培训教材,以及广大编程爱好者的Flask入门级教材。
第1章 认识Flask 1 1.1 Flask简介 1 1.2 搭建Flask开发环境 3 1.2.1 创建隔离的Python环境 3 1.2.2 安装Flask 4 1.2.3 安装PyCharm 5 1.2.4 在PyCharm中配置隔离环境 9 1.3 第一个Flask Web程序 12 1.3.1 编写Hello Flask程序 12 1.3.2 程序的基本结构 13 1.4 Flask程序配置 14 1.4.1 常用配置项介绍 15 1.4.2 配置信息的使用 17 1.5 Flask扩展包 18 1.6 本章小结 19 1.7 习题 19 第2章 路由 21 2.1 注册路由 21 2.2 URL传递参数 24 2.2.1 URL传递参数的方式 24 2.2.2 为参数指定转换器 25 2.3 处理请求 27 2.3.1 指定请求方式 27 2.3.2 请求钩子 29 2.3.3 上下文 32 2.4 处理响应 37 2.4.1 响应报文 37 2.4.2 生成响应 38 2.5 URL反向解析 41 2.6 页面重定向 44 2.7 本章小结 46 2.8 习题 46 第3章 模板 47 3.1 模板与模板引擎Jinja2 49 3.2 模板基础语法 51 3.2.1 模板变量 51 3.2.2 过滤器 52 3.2.3 选择结构 55 3.2.4 循环结构 56 3.3 宏的定义与调用 59 3.3.1 宏的定义 59 3.3.2 宏的调用 60 3.4 消息闪现 61 3.5 静态文件的加载 65 3.6 模板继承 68 3.7 本章小结 71 3.8 习题 71 第4章 表单与类视图 72 4.1 通过Flask处理表单 73 4.2 通过Flask-WTF处理表单 77 4.2.1 安装Flask-WTF扩展包 77 4.2.2 使用Flask-WTF创建表单 78 4.2.3 在模板中渲染表单 80 4.2.4 通过Flask-WTF验证表单 83 4.3 类视图 85 4.3.1 标准类视图 86 4.3.2 基于方法的类视图 87 4.4 蓝图 89 4.5 本章小结 92 4.6习题 92 第5章 数据库操作 94 5.1 数据库概述 94 5.2 安装Flask-SQLAlchemy 96 5.3 使用Flask-SQLAlchemy操作MySQL 97 5.3.1 连接数据库 97 5.3.2 定义模型 99 5.3.3 创建数据表 100 5.3.4 模型关系 101 5.4 数据操作 104 5.4.1 增加数据 104 5.4.2 查询数据 105 5.4.3 更新数据 109 5.4.4 删除数据 110 5.5 本章小结 110 5.6 习题 111 第6章 智能租房——前期准备 112 6.1 项目介绍 113 6.2 项目开发模式与运行机制 118 6.3 项目创建和配置 119 6.3.1 创建项目 119 6.3.2 使用配置信息 120 6.3.3 配置前端静态文件 121 6.3.4 配置模板文件 122 6.4 数据准备 123 6.4.1 数据表设计 124 6.4.2 导入数据 125 6.4.3 创建模型 129 6.5 本章小结 133 6.6 习题 133 第7章 智能租房——首页 133 7.1 房源总数展示 134 7.2 最新房源数据展示 136 7.3 热点房源数据展示 138 7.4 智能搜索 140 7.4.1 智能搜索功能说明 140 7.4.2 前端逻辑说明 142 7.4.3 后端逻辑实现 146 7.5 本章小结 148 7.6 习题 148 第8章 智能租房——列表页 149 8.1 搜索房源列表页展示 149 8.1.1 搜索房源列表页功能说明 149 8.1.2 搜索房源列表页的接口设计 150 8.1.3 搜索房源列表页的后端实现 151 8.1.4 搜索房源列表页的前端实现 152 8.2 最新房源列表页展示 155 8.2.1 最新房源列表页功能说明 155 8.2.2 最新房源列表页的接口设计 155 8.2.3 最新房源列表页的后端实现 156 8.2.4 最新房源列表页的前端实现 157 8.3 热点房源列表页展示 159 8.3.1 热点房源列表页功能说明 160 8.3.2 热点房源列表页的接口设计 160 8.3.3 热点房源列表页的后端实现 161 8.4 本章小结 161 8.5 习题 161 第9章 智能租房——详情页 162 9.1 详情页房源数据展示 162 9.1.1 房源基本信息展示 163 9.1.2 房源配套设施展示 167 9.2 利用ECharts实现数据可视化 171 9.2.1 认识数据可视化 171 9.2.2 认识ECharts 172 9.2.3 ECharts的基本使用 174 9.2.4 ECharts的常用配置项 178 9.3 户型占比可视化 181 9.3.1 户型占比可视化的功能分析 181 9.3.2 户型占比可视化的接口设计 182 9.3.3 获取同街道房源的户型和数量 183 9.3.4 通过饼图展示户型占比 184 9.4 小区房源数量TOP20可视化 186 9.4.1 小区房源数量TOP20可视化的功能分析 186 9.4.2 小区房源数量TOP20可视化的接口设计 187 9.4.3 获取小区房源数量TOP20 188 9.4.4 通过柱状图展示小区房源数量TOP20 189 9.5 户型价格走势可视化 192 9.5.1 户型价格走势可视化的功能分析 192 9.5.2 户型价格走势可视化的接口设计 193 9.5.3 获取平均价格和时间序列 194 9.5.4 通过折线图展示户型价格走势 197 9.6 预测房价走势可视化 199 9.6.1 线性回归算法 199 9.6.2 认识scikit-learn库 200 9.6.3 后端逻辑的分析与实现 203 9.6.4 通过散点图展示预测房价走势 207 9.7 本章小结 209 9.8 习题 209 第10章 智能租房——用户中心 209 10.1 用户注册 210 10.1.1 用户注册功能说明 210 10.1.2 用户注册的后端实现 212 10.1.3 用户注册的前端实现 214 10.2 用户中心页展示 217 10.2.1 用户中心页功能说明 217 10.2.2 用户中心页展示的后端实现 218 10.2.3 用户中心页展示的前端实现 220 10.3 用户登录与退出 221 10.3.1用户登录 222 10.3.2 用户退出 224 10.4 账号信息修改 227 10.5 房源收藏和取消收藏 230 10.5.1 收藏房源信息 230 10.5.2 取消收藏房源信息 233 10.6 用户浏览记录管理 235 10.6.1 添加浏览记录 235 10.6.2 清空浏览记录 238 10.7 智能推荐 239 10.7.1 协同过滤算法 239 10.7.2 皮尔逊相关系数 240 10.7.3 使用协同推荐算法推荐房源 242 10.7.4 智能推荐后端实现 248 10.8 本章小结 252 10.9 习题 252