标签归档:Web 开发

《Flask 从入门到进阶》正式发售

经过五年的写(拖)作(延),我的新书《Flask 从入门到进阶》终于出版了!作为《Flask Web 开发实战》的全新升级版,新版本在原书的基础上进行了大量更新和调整,以便适应当下的技术栈。目前已经有现货可以购买:

至此我在 Flask 这条人生支线的探索也算圆满了。我从大二自学 Python 和 Flask,毕业前开始写作《Flask Web 开发实战》,这本书出版的同时也成为了 Flask 的维护者,并且为大量相关项目贡献代码。从 2018 年出版到现在,一共重印了 14 次,累计售出 2 万本(包括电子书)。收获了很多好评,在豆瓣上评分也保持在 9 分左右:

到现在终于完成了新版本,而且还拿到了 Armin Ronacher(Flask 作者)的推荐语:

Great resources make great developers, and it’s wonderful to see Flask supported by such high-quality education materials.

感谢一直关注这本书并持续催更的朋友!这本书的完成是我们共同努力的结果 :D

本书主要特色

这本书换了一个新书名,出于一个有点滑稽的原因。书名从《Flask Web 开发实战:入门、进阶与原理解析》变成了《Flask 从入门到进阶:Python Web 开发工程化实践》。不过新的副书名也能更好的概括这本书的特点:以学习 Flask Web 开发作为脉络,你能通过这本书掌握相对完整的 Python Web 工程化实践。从 HTTP 原理到数据库 ORM,从单元测试到代码风格再到性能优化,从 Web 程序开发到 Web API 开发,最后再到不同的部署方式。如果想要深入了解框架,最后还有一章源码解析。同时用两个示例程序串起来各种不同的知识点,比如 Flask 项目的组织方式和技巧,以及 Flask 开发中各类功能的实现。

访问这本书的主页查看详细介绍和章节目录:https://helloflask.com/book/4/

新版本主要变化

下面是一些具体内容上的变化:

版本升级

旧版本 新版本
Flask 1.x Flask 3.x
Python 2.7, 3.6+ Python 3.9+
Bootstrap 4.x Bootstrap 5.x
SQLAlchemy 1.x SQLAlchemy 2.x

技术栈更新

旧版本 新版本
Pipenv PDM
Flask-Mail Flask-Mailman
Flake8 Ruff
Open Iconic Bootstrap Icon
Flask-Moment + Moment.js Day.js
jQuery Vanilla JS
AJAX with jQuery Fetch API
Flask for Web API APIFlask
云平台部署 Docker 部署

示例程序上做了比较大的调整,删掉了旧版本的 SayHelloTodoismCatChat,保留两个程序并做了比较大的重构:

旧版本 新版本
Bluelog Greybook
Albumy Moments
helloflask/demos helloflask/examples

新版本计划是想做一些删减,比如从 700 页减到 500 页,毕竟一本厚书还是让人蛮有压力的。虽然删掉了两个章节,但是写到最后又快到了 700 页,实际的厚度比旧版本还要厚一点点。大概不知不觉又加了很多内容进来。

面向的读者群

本书面向的读者群如下:

  • 了解 Python 基本语法,想要自己动手开发网站的编程爱好者
  • 熟悉 Python,想要从事 Python Web 开发的后端工程师、运维工程师和爬虫工程师
  • 想要从 Django 等其他 Python Web 框架转向 Flask 的 Python 工程师

本书不包含对 Python 的基础知识介绍,所以读者需要事先对 Python 基本语法有一定的了解。另外,Web 开发不可避免的会涉及到一些 HTML、CSS 和 JavaScript 知识,如果你不熟悉这些,可以通过 MDN 提供的 Web 开发入门教程学习,简单了解即可。

推荐语

Great resources make great developers, and it’s wonderful to see Flask supported by such high-quality education materials.

—— Armin Ronacher(Flask 作者,Sentry Platform 副总裁)

作为一名对 Python 充满热忱的软件工程师,一名乐于帮助他人、回馈社区的布道者,Grey 对技术准确性、阅读体验感的无限追求都体现在这本新作中,我相信每一名读者都能在字里行间感受到他的诚意。

—— 管俊(《DevOps 实践指南(第 2 版)》译者,戴尔中国卓越研发集团 DevOps 架构师)

这本书内容翔实,推荐给想要系统学习 Flask 的人。不要漏掉书中的小知识点哦。

—— Hsiaoming Yang(Typlog 创始人,Authlib 作者)

关于作者

我是李辉(Grey Li),Flask & APIFlask 的维护者,Flask 开发团队(Pallets Team)成员, HelloFlask 社区和代码厨房社区创建者,微软 Python 方向最有价值专家(MVP)。目前就职于戴尔中国卓越研发集团,担任首席软件工程师。

我热衷于开源软件的应用和推广,为 Flask 等开源项目贡献过大量代码。也曾在 PyCon China、PyCon US、COSCUP、COSCon、CommunityOverCode 等技术大会担任演讲嘉宾。你可以在 GitHub 上看到我的开源项目。

如果你想了解我的新作品或其他动态,可以关注我的 Twitter 和微信公众号,或是加入我的邮件通讯列表

勘误、分享和评价

在阅读过程中如果发现了排版或内容上的错误,欢迎通过下面的方式提交勘误。我会在后续重印时进行修正。感谢反馈!

如果你觉得这本书还不错,欢迎分享到社交网络,或是告诉你的同事和朋友。也欢迎在本书的豆瓣页面标记和评价。

PyCon China 2019 Tutorial:Python Web 开发第一课

这是在 PyCon China 2019 上海场 9 月 22 号上午九点开始的 Tutorial(实践课程)《Python Web 开发第一课》 的介绍和相关信息。

购票链接:https://www.bagevent.com/event/5886131(Tutorial T3,优惠码 hellogrey)

标题

Python Web 开发第一课

介绍

这是一个面向 Python 程序员的 Web 开发课程,目标听众需要对 Python 基本语法有一定的了解,但对 Web 开发的了解程度没有要求。

在这个课程里,我会将 Python Web 开发所涉及的相关概念进行一个系统的梳理和介绍,包括 HTTP 协议、前端基础知识、常用的 Python Web 框架以及其他各种工具。

这个课程还会包含一个动手编程的环节。我会从最让人头疼的开发环境搭建开始,一步一步教你如何使用 Flask 开发一个简单的 Web 程序。

在课程过后,参与者会对整个 Python Web 开发技术栈有一个全局认识,并掌握基本的 Web 开发知识,而且会对接下来的学习路径有一个清晰的了解。

流程

时长:三小时

一、基本概念

  • Python Web 开发技术栈地图
  • HTTP 协议基础知识(请求与响应、URL 等)
  • 前端基础知识(HTML、CSS、JavaScript、AJAX 等)
  • Python 后端框架的特点和选择(Flask、Django 等)
  • 传统 Web 程序和 Web API 的对比
  • 测试、部署、持续集成等相关概念快速扫盲

二、动手编程

  • 开发环境搭建
  • 运行和调试程序
  • 编写 HTML 模板
  • 添加表单支持
  • 添加数据库支持

三、Q&A

  • 介绍常见的学习误区和建议的学习方向
  • 关于代码或其他任何相关内容的提问

内容难度

初级

目标听众

  • 想了解 Web 开发的前端、运维、测试或其他工程师
  • 想自己做网站的编程爱好者
  • Web 开发或 Python 初学者

听众要求

  • 了解 Python 基本语法
  • 有一台安装了 Python 和浏览器的电脑,并且了解命令行基本操作

讲者介绍

李辉,Flask 等相关项目的维护者,《Flask 入门教程》和《Flask Web 开发实战》的作者,HelloFlask 社区创建者。他撰写过大量技术文章,回答过大量技术问题,在这个过程中积累了一些编程教学的技巧,擅长用简单的语言解释复杂的编程概念。你可以在他的个人网站 greyli.com 了解到更多相关信息。