Python Flask Web开发入门与项目实战
作者:(中国)钱游
出版时间 :2019年版
内容简介
本书从Flask框架的基础知识讲起,逐步深入到使用Flask进行Web应用开发实战。其中,重点介绍了使用Flask+SQLAlchemy进行服务端开发,以及使用Jinja 2模板引擎和Bootstrap进行前端页面开发的方法,不但可以让读者系统地学习用Python微型框架开发Web应用的相关知识,而且还能对Web开发中基于角色访问权限控制的方法等相关知识有更为深入的理解。本书提供了大量的实战案例引导读者由浅入深地学习Flask Web应用开发,可以让读者的开发水平有质的提升。 \n本书共16章,分为3篇。第1篇为Flask基础知识,介绍了Flask开发的环境部署及入门知识,内容涵盖了Flask程序的基本结构、Jinja 2模板、Web表单、SQLAlchemy管理数据库、装饰器的定义和使用、Memcached缓存技术等;第2篇为CMS新闻系统开发,介绍了数据库设计、数据库迁移、无限级分类的实现、登录日志、角色的访问权限控制等内容;第3篇为网站上线准备及部署,介绍了Web程序上线部署前必须要进行的单元测试、性能优化和环境部署等内容。 \n本书内容通俗易懂,案例丰富,实用性强,特别适合Python Web开发的入门读者和进阶读者学习,也适合PHP程序员和Java程序员等其他Web开发爱好者阅读。另外,本书可以作为相关培训机构的教材用书。
目录
目录 \n
\n
前言 \n
本书内容导图 \n
第1篇 Flask基础知识 \n
第1章 开发环境部署2 \n
1.1 Python的安装及配置2 \n
1.1.1 Python的安装2 \n
1.1.2 测试Python是否安装成功7 \n
1.2 虚拟环境的配置8 \n
1.3 PyCharm的安装及使用11 \n
1.3.1 PyCharm的下载及安装11 \n
1.3.2 在PyCharm中新建工程14 \n
1.3.3 在PyCharm中设置UTF-8编码自动创建15 \n
1.3.4 在PyCharm中使用已经设置好的虚拟环境17 \n
1.4 温故知新20 \n
1.5 习题20 \n
第2章 Flask快速上手21 \n
2.1 Web基础知识21 \n
2.2 第一个Flask Web程序22 \n
2.2.1 安装Flask框架23 \n
2.2.2 在Flask中输出Hello World25 \n
2.3 URL传递参数28 \n
2.4 URL反转29 \n
2.5 页面跳转和重定向30 \n
2.6 温故知新31 \n
2.7 习题31 \n
第3章 Jinja 2模板引擎33 \n
3.1 模板引擎概述及简单使用33 \n
3.2 向模板中传递参数35 \n
3.3 模板中的控制语句之if语句38 \n
3.4 模板中的控制语句之for语句40 \n
3.5 Flask的过滤器42 \n
3.5.1 常见过滤器42 \n
3.5.2 自定义过滤器44 \n
3.6 宏的定义及使用46 \n
3.6.1 宏的定义46 \n
3.6.2 宏的导入47 \n
3.6.3 include的使用49 \n
3.7 set和with语句的使用50 \n
3.8 静态文件的加载52 \n
3.9 模板的继承54 \n
3.10 温故知新57 \n
3.11 习题57 \n
第4章 Flask视图高级技术58 \n
4.1 app.route与add_url_rule简介58 \n
4.1.1 app.route的使用58 \n
4.1.2 add_url_rule的使用59 \n
4.2 Flask类视图61 \n
4.2.1 太阳城
类视图61 \n
4.2.2 基于方法的类视图63 \n
4.3 Flask装饰器66 \n
4.3.1 装饰器的定义和基本使用66 \n
4.3.2 对带参数的函数使用装饰器68 \n
4.4 蓝图71 \n
4.5 温故知新72 \n
4.6 习题73 \n
第5章 Flask数据交互74 \n
5.1 使用Flask处理表单74 \n
5.1.1 使用Flask处理通用表单74 \n
5.1.2 使用Flask-WTF处理表单76 \n
5.2 使用Flask上传文件80 \n
5.2.1 使用Flask上传文件的简单实现81 \n
5.2.2 改进上传功能84 \n
5.3 Cookie的使用86 \n
5.3.1 Cookie的基本概念86 \n
5.3.2 Cookie的基本使用87 \n
5.3.3 设置Cookie的作用域90 \n
5.4 Session的使用92 \n
5.4.1 Session的基本配置92 \n
5.4.2 Session的基本使用93 \n
5.5 钩子函数的使用95 \n
5.6 温故知新97 \n
5.7 习题97 \n
第6章 访问数据库98 \n
6.1 MySQL数据库安装98 \n
6.1.1 下载及安装MySQL98 \n
6.1.2 测试MySQL是否安装成功99 \n
6.2 Python数据库框架MySQL-Python100 \n
6.2.1 MySQL-Python安装100 \n
6.2.2 通过Python操作数据库对象101 \n
6.3 通过MySQL-Python进行更新数据操作105 \n
6.3.1 增加数据105 \n
6.3.2 修改数据106 \n
6.3.3 删除数据107 \n
6.4 初识Flask-SQLAlchemy108 \n
6.4.1 SQLAlchemy的安装108 \n
6.4.2 对象-关系映射实质110 \n
6.4.3 为什么使用ORM111 \n
6.5 Flask-SQLAlchemy初始化112 \n
6.6 Flask-SQLAlchemy模型与表映射方法1114 \n
6.7 Flask-SQLAlchemy模型与表映射方法2118 \n
6.8 数据的增、删、改、查119 \n
6.8.1 数据添加119 \n
6.8.2 数据查询121 \n
6.8.3 数据修改122 \n
6.8.4 数据删除123 \n
6.9 使用Flask-SQLAlchemy创建一对一的关系表124 \n
6.10 使用Flask-SQLAlchemy创建一对多的关系表126 \n
6.11 使用Flask-SQLAlchemy创建多对多的关系表128 \n
6.12 Flask-Script工具的使用130 \n
6.12.1 安装Flask-Script并初始化130 \n
6.12.2 Command子类创建命令131 \n
6.12.3 使用Command实例的@command修饰符132 \n
6.12.4 使用Command实例的@option修饰符创建命令132 \n
6.13 Flask循环引用133 \n
6.14 使用Flask-Migrate实现数据库迁移136 \n
6.14.1 安装Flask-Migrate插件136 \n
6.14.2 使用Flask-Migrate的步骤136 \n
6.15 温故知新139 \n
6.16 习题139 \n
第7章 Memcached缓存系统140 \n
7.1 Memcached的安装140 \n
7.1.1 Memcached的基本概念140 \n
7.1.2 Memcached的安装141 \n
7.2 Memcached的基本使用143 \n
7.2.1 set和set_multi命令的使用143 \n
7.2.2 get和get_multi命令的使用144 \n
7.2.3 add命令的使用145 \n
7.2.4 replace命令的使用146 \n
7.2.5 append和prepend命令的使用147 \n
7.2.6 delete和delete_multi命令的使用148 \n
7.2.7 decr和incr命令的使用149 \n
7.3 Memcached的安全机制150 \n
7.4 温故知新151 \n
7.5 习题151 \n
第8章 Bootstrap的基本使用152 \n
8.1 Bootstrap简介152 \n
8.2 全局CSS样式154 \n
8.3 栅格系统156 \n
8.4 Bootstrap CSS代码162 \n
8.5 Bootstrap表格165 \n
8.5.1 基础表格165 \n
8.5.2 条纹状表格167 \n
8.5.3 带边框的表格168 \n
8.5.4 紧凑的表格和响应式表格170 \n
8.5.5 状态类172 \n
8.6 Bootstrap表单173 \n
8.6.1 垂直表单174 \n
8.6.2 内联表单175 \n
8.6.3 水平表单180 \n
8.6.4 支持的表单控件181 \n
8.7 Bootstrap按钮182 \n
8.8 温故知新185 \n
8.9 习题186 \n
第2篇 CMS新闻系统开发 \n
第9章 CMS后台管理员登录实现188 \n
9.1 CMS系统基本蓝图188 \n
9.2 用户模型定义190 \n
9.2.1 建立数据库连接并创建用户模型190 \n
9.2.2 用户登录密码明文变密文的处理193 \n
9.3 管理员登录194 \n
9.3.1 登录页的渲染194 \n
9.3.2 初步实现用户的登录196 \n
9.3.3 优化登录-对表单进行过滤验证199 \n
9.3.4 优