Flask Web开发:基于Python的Web应用开发实战(第2版) 封面

Flask Web开发:基于Python的Web应用开发实战(第2版)

评分 4.3
字数
22万字
章节数
40
丛书
图灵程序设计丛书
ISBN
9787115489456

标签

内容简介

本书是Flask开发领域流传最广的中文入门教材之一,由长期从事Python Web开发的米格尔·格林贝格撰写,安道翻译,属于图灵程序设计丛书。全书共18章,分三个部分。第一部分从最基础的环境搭建讲起,介绍虚拟环境与pip、应用的基本结构、路由与视图函数、请求—响应循环、请求钩子与上下文,随后依次讲解Jinja2模板、Flask-Bootstrap、Flask-Moment、Web表单与WTForms、SQLAlchemy数据库建模与迁移、Flask-Mail邮件发送,以及用应用工厂函数和蓝本组织大型应用的方法。第二部分是一个贯穿全书的实战项目:从零构建名为Flasky的社交博客应用,逐章加入用户认证、角色权限、用户资料与头像、博客文章与分页及Markdown富文本、关注者关系、评论管理,最后用Flask-HTTPAuth与JSON序列化实现REST式应用编程接口。第三部分面向上线,讲解测试与代码覆盖度、Selenium端到端测试、性能分析与慢查询记录、Heroku与Docker容器以及传统服务器的部署方式,并给出寻找扩展和参与社区的资源指引。第2版针对Python 3.6全面修订,篇幅精炼,重在把框架特性串成一条可落地的完整开发链路,适合作为系统学习Flask的主线读物。

编辑推荐

很多Python学习者的困境是:语法会了,却不知道一个真实网站是怎么一步步长出来的。这本书的价值正在于此——它不讲零散的知识点,而是用“做一个小型社交博客”这条主线,把Flask从路由、模板、表单、数据库到用户认证、权限、评论、API全部串起来,读完你能得到一个自己写完、能跑起来、能上线的完整项目。 本书结构清晰是最大优点:第一部分打地基,每一章只引入一类必要概念和对应扩展;第二部分边做边把前面分散的知识缝合进同一个工程,让你理解工厂函数和蓝本存在的理由;第三部分专门讲测试、性能与部署,这部分恰恰是多数入门书缺失的“最后一百米”。 第2版针对Python 3.6全面修订,篇幅控制在两百余页,不写废话,代码示例密度高。需要提醒的是:技术类书籍的版本时效性天然有限,书中不少扩展库的配置方式在新版本中已有变化,因此它更适合当作“理解Flask工程化开发思路”的教材,而不是逐个复制代码的速查手册。配合官方文档与最新版本实践一起读,收益最大。

适合谁读

适合

  • 熟悉Python基础语法、想系统入门Web后端开发的程序员或学生
  • 已经会用Django或其他框架,想快速了解Flask轻量级开发模式的开发者
  • 需要独立完成一个带用户系统、评论和API的完整小项目的自学者
  • 正在做毕业设计或课程设计、缺少实战项目经验的高年级本科生与研究生

不适合

  • 完全没有编程基础、尚未学过Python基本语法与面向对象概念的读者
  • 只想查找Flask最新版本API速查手册、不打算按章节动手实践的人
  • 主要做前端或数据科学、短期内不需要搭建Web服务端的读者

阅读建议

  1. 务必边读边敲代码,第一部分每章结束后亲手复现示例,否则到第二部分会跟不上项目节奏。
  2. 先读第2章和第7章,理解应用工厂函数与蓝本的用意,再回头逐章补细节,能明显降低理解难度。
  3. 书中的扩展版本较旧,动手时对照各扩展官网最新文档调整配置,遇到报错优先查阅官方变更说明。
  4. 读完后不要停在Flasky项目上,自己重写一个主题不同的小应用(如书籍收藏或待办清单),把知识迁移验证一遍。

出版社简介

人民邮电出版社 中国 · 成立于 1953 年

人民邮电出版社以科技、计算机与信息通信类图书见长,并由此延伸至摄影、艺术、软件学习与励志成长等门类,形成较为多元的出版方向。库内图书既涵盖《重构与模式(修订版)》《华为交换机学习指南(第二版)》等计算机与通信技术读物,也收录《小王子(中英法彩绘典藏纪念版)》《了不起的盖茨比》《假如给我三天光明》等双语典藏类作品;《北京十年:1980-1990》与《鬼刀 WLOP个人插画作品集》则体现其在摄影与艺术领域的布局。作者资源包括安东尼·圣埃克苏佩里、海伦·凯勒、Joshua Kerievsky、王达、张兆增与WLOP等。

目录

  1. 前言
  2. 第一部分 Flask简介
  3. 第1章 安装
  4. 1.1 创建应用目录
  5. 1.2 虚拟环境
  6. 1.3 在Python 3中创建虚拟环境
  7. 1.4 在Python 2中创建虚拟环境
  8. 1.5 使用虚拟环境
  9. 1.6 使用pip安装Python包
  10. 第2章 应用的基本结构
  11. 2.1 初始化
  12. 2.2 路由和视图函数
  13. 2.3 一个完整的应用
  14. 2.4 Web开发服务器
  15. 2.5 动态路由
  16. 2.6 调试模式
  17. 2.7 命令行选项
  18. 2.8 请求–响应循环
  19. 2.9 Flask扩展
  20. 第3章 模板
  21. 3.1 Jinja2模板引擎
  22. 3.2 使用Flask-Bootstrap集成Bootstrap
  23. 3.3 自定义错误页面
  24. 3.4 链接
  25. 3.5 静态文件
  26. 3.6 使用Flask-Moment本地化日期和时间
  27. 第4章 Web表单
  28. 4.1 配置
  29. 4.2 表单类
  30. 4.3 把表单渲染成HTML
  31. 4.4 在视图函数中处理表单
  32. 4.5 重定向和用户会话
  33. 4.6 闪现消息
  34. 第5章 数据库
  35. 5.1 SQL数据库
  36. 5.2 NoSQL数据库
  37. 5.3 使用SQL还是NoSQL
  38. 5.4 Python数据库框架
  39. 5.5 使用Flask-SQLAlchemy管理数据库
  40. 5.6 定义模型

常见问题

这本书适合完全没有编程基础的人吗?
不太适合。书中假设读者已经掌握Python的基本语法、函数、类和模块的用法,只简要提及虚拟环境与pip。若尚未写过Python程序,建议先学一门Python入门课,再回来读本书,否则前两章就会卡住。
第1版和第2版有什么区别,该买哪一本?
第2版针对Python 3.6全面修订了代码与依赖,并新增了Docker容器部署等内容,结构也做了调整;第1版对应Python 2时代的写法。如今应选第2版,Python 2相关内容已无实际意义。
书里的示例代码在新版本Python和扩展库上还能跑吗?
基本思路仍然成立,但部分扩展的导入方式、配置名和命令已发生变化,直接复制可能报错。建议以书中流程为骨架,具体参数查阅当前版本的官方文档,遇到不兼容处自行调整。
读完后能独立开发一个上线的Web项目吗?
可以完成结构完整的项目骨架。书中涵盖了认证、权限、数据库迁移、API、测试与部署等关键环节,但真实项目还需要补充缓存、异步任务、安全加固与运维监控等知识,本书是起点而非终点。

读者评论

查询本书

本站为索引目录:「全网查询」由您发起、在您的浏览器中运行,所列入口均指向第三方站点,请自行判断可用性。

同一作者

同类高分