Python Flask Web开发入门与项目实战
详解Flask+SQLAlchemy服务端开发及Jinja2和Bootstrap前端开发;116个实例,28个编程练习题,1个项目案例
基本信息

编辑推荐
从Flask框架的基础知识讲起,逐步深入到Flask Web应用开发
重点介绍使用Flask+SQLAlchemy进行服务端开发,以及使用Jinja 2模板引擎和Bootstrap进行前端页面开发
详解116个实例、28个编程练习题、1个综合项目案例
由浅入深:从基本的开发环境配置讲起,层层深入到实际的项目案例开发
涵盖广泛:涵盖Jinja 2、视图操作、数据库访问、Memcached缓存、Bootstrap等众多内容
实例丰富:提供了116个实例和28个编程练习题带领读者上手实践
注重实战:详细介绍了一个完整的新闻系统网站开发的整个过程
本书精华内容:
第1篇Flask基础知识
开发环境部署
Flask快速上手
Jinja2 模板引擎
Flask视图高级技术
Flask数据交互
访问数据库
Memcached缓存系统
Bootstrap的基本使用
第2篇CMS新闻系统开发
CMS后台管理员登录实现
CMS后台文章模块基本功能实现
CMS后台基本评论及登录日志等功能的实现
基于角色的访问控制功能实现
CMS网站前台功能实现
CMS系统代码优化
第3篇网站上线准备及部署
CMS系统性能测试与单元测试
网站部署
内容简介
计算机书籍
本书从Flask框架的基础知识讲起,逐步深入到使用Flask进行Web应用开发实战。其中,重点介绍了使用Flask+SQLAlchemy进行服务端开发,以及使用Jinja 2模板引擎和Bootstrap进行前端页面开发的方法,不但可以让读者系统地学习用Python微型框架开发Web应用的相关知识,而且还能对Web开发中基于角色访问权限控制的方法等相关知识有更为深入的理解。本书提供了大量的实战案例引导读者由浅入深地学习Flask Web应用开发,可以让读者的开发水平有质的提升。
本书共16章,分为3篇。第1篇为Flask基础知识,介绍了Flask开发的环境部署及入门知识,内容涵盖了Flask程序的基本结构、Jinja 2模板、Web表单、SQLAlchemy管理数据库、装饰器的定义和使用、Memcached缓存技术等;第2篇为CMS新闻系统开发,介绍了数据库设计、数据库迁移、无限级分类的实现、登录日志、角色的访问权限控制等内容;第3篇为网站上线准备及部署,介绍了Web程序上线部署前必须要进行的单元测试、性能优化和环境部署等内容。
本书内容通俗易懂,案例丰富,实用性强,特别适合Python Web开发的入门读者和进阶读者学习,也适合PHP程序员和Java程序员等其他Web开发爱好者阅读。另外,本书可以作为相关培训机构的教材用书。
作译者
目录
本书内容导图
第1篇 Flask基础知识
第1章 开发环境部署 2
1.1 Python的安装及配置 2
1.1.1 Python的安装 2
1.1.2 测试Python是否安装成功 7
1.2 虚拟环境的配置 8
1.3 PyCharm的安装及使用 11
1.3.1 PyCharm的下载及安装 11
1.3.2 在PyCharm中新建工程 14
1.3.3 在PyCharm中设置UTF-8编码自动创建 15
1.3.4 在PyCharm中使用已经设置好的虚拟环境 17
1.4 温故知新 20
1.5 习题 20
第2章 Flask快速上手 21
2.1 Web基础知识 21
2.2 第一个Flask Web程序 22
2.2.1 安装Flask框架 23
2.2.2 在Flask中输出Hello World 25
前言
目前,Python的就业前景还是非常好的。国内Python人才需求呈大规模上升,薪资水平也水涨船高。在Linux运维、Python Web网站工程师、Python自动化测试、数据分析和人工智能等诸多领域,对Python人才的需求非常旺盛。目前,业内几乎所有大中型互联网企业都在使用Python,如Youtube、Dropbox、BT、Quora(类似于中国的知乎)、豆瓣、知乎、Google、Yahoo、Facebook、NASA、百度、腾讯、汽车之家和美团等。很多知名企业的网站,诸如豆瓣、知乎和拉勾网等都是用Python语言开发的。熟练掌握Python语言与Python框架Flask,入职名企妥妥的。
Flask的优势
Web网站发展至今,特别是服务器端,涉及的知识非常广泛,这对程序员的要求会越来越高。如果采用成熟、稳健的框架,那么一些诸如安全性、数据流控制等类型的基础性工作都可以让框架来处理,而程序开发人员则可以把更多的精力放在具体业务逻辑功能的实现和优化上。
使用Flask框架的优势有以下几点:
可以大大降低开发难度,提高开发效率,让快速、高效的Web开发成为可能。
可以带来系统稳定性和可扩展性的提升。Flask自由、灵活、可扩展性强、第三方库的选择面广,用第三方库可以实现自己想要的功能,而且很多第三方库还可以定制与裁减。
对于初学者来说简单易学,入门门槛很低,即便没有多少Web开发经验,也能很快做出网站,大大节约了初学者的学习成本。
综上所述,Flask是一个用Python语言编写的Web微框架,可以让开发人员快速开发各种Web应用。
笔者在长期的Flask框架使用过程中有切身体会:使用该框架进行Web开发,的确省时、省事、省力。比如表单数据的校验、CSRF攻击与防御等提供了相应模块,直接拿过来就可以使用。默认情况下,Flask不包含数据库抽象层和表单验证等功能。然而Flask支持用扩展来给应用添加这些功能,就如同是用Flask实现的一样。众多的扩展提供了数据库集成、表单验证、上传处理和各种各样的开放认证技术等功能。为了把这些心得体会分享给广大的Web开发人员,笔者编写了本书。本书主要介绍了如何基于Python的微框架Flask进行Web开发,内容安排从易到难,讲解由浅入深、循序渐进,可以帮助读者快速掌握Flask Web开发的大部分常用技术点。
本书特色
由浅入深:本书从基本的开发环境配置讲起,层层深入到实际项目案例开发,切实为读者朋友提供了高效学习Flask框架的好方法。
内容全面:本书涵盖Flask开发的方方面面,包括Jinja 2、视图操作、数据库访问、Memcached缓存和Bootstrap等众多内容。
实例众多:本书注重“讲练”结合,讲解的实例多达116个,还提供了28个配套编程练习题,让读者朋友可以通过大量的动手实践迅速掌握Flask开发。
注重实战:本书第2、3篇结合新闻系统网站开发,将一个完整的动态网站项目划分为典型的工作任务,让读者在完成工作任务的过程中学习新技术和新技能。
本书内容
第1篇 Flask基础知识(第1~8章)
本篇主要介绍了Flask开发环境的部署与配置,并重点介绍了Flask开发所需要掌握的基础知识,涵盖Flask程序基本结构、Jinja 2模板引擎、高级视图、Flask数据交互、数据库访问和Memcached缓存系统等内容。
第2篇 CMS新闻系统开发(第9~14章)
本篇主要介绍了CMS系统后台管理员登录实现、CMS系统后台文章模块基本功能实现、CMS后台基本评论及登录日志等功能实现、基于角色的访问控制功能实现、CMS网站前台功能实现和CMS系统代码优化等相关内容,涉及数据库设计、数据库迁移、无限级分类、登录日志、角色访问权限控制等相关知识点。
媒体评论
——现伯翰国际总经理(原华派科技CTO/人梯国际CTO)王勇
这本书真是太棒了!我不得不说,即便是对于不太熟悉Python语言的读者来说,阅读本书,在作者的引领下也能快速、高效地进行Web开发。
——北京源智天下科技有限公司总经理张增强
这是一本实用性很强的书。书中的章节经过了精心编排,可以满足不同层次读者的阅读需求。书中对基础知识和实践内容做了科学的安排,可以让读者循序渐进地掌握Flask开发的相关知识和各种开发技巧。
——神兔未来科技有限公司创始人王静逸
本书从基本概念讲起,一步步引导读者掌握Flask框架及其应用开发。书中重点介绍了Flask开发中的模板引擎、数据交互、数据库访问和缓存系统等内容,还介绍了用Flask开发开源内容管理系统,以及基于角色访问控制等进阶内容,是一本很适合Python爱好者学习Web开发的读物。
——北京邮电大学国际学院企业顾问团专家段超