《Flask Mega-Tutorial》2024版发布公告

《Flask Mega-Tutorial》2024版发布公告

💡 原文英文,约1400词,阅读约需6分钟。
📝

内容提要

《Flask Mega-Tutorial》发布2024版,全面更新至Flask 3.0和SQLAlchemy 2.0,采用类型提示定义模型、select()查询接口和write-only关系;升级Bootstrap 5.3并移除jQuery;支持Python 3.8至3.12,用aiosmtpd替代smtpd,改用带时区的时间戳。教程仍为23章并继续免费,但不再制作新版视频课程。

🔎

延伸解读

SQLAlchemy 2.0 升级:现代语法与查询接口

2024版教程将SQLAlchemy升级到2.0,这是本次最大的改动。读者将学习使用基于类型提示的模型定义语法,这能更好地配合代码分析器和IDE;掌握新的select()查询接口,它比旧版更强大;以及用推荐的“write-only”关系替代传统的“dynamic”关系。这些变化反映了SQLAlchemy的最新实践,有助于编写更清晰、更易维护的数据库代码。

前端简化:Bootstrap 5.3 与移除 jQuery

教程将Bootstrap从3升级到5.3.2,并完全移除了jQuery。Bootstrap 5不再依赖jQuery,且现代浏览器API一致性已大幅提升,因此教程改用原生浏览器API实现前端交互。同时,教程展示了如何利用Jinja特性(如宏)集成Bootstrap,而不依赖第三方Python包。这使前端代码更轻量、更符合当前Web开发趋势。

Python 版本兼容性调整

为支持Python 3.8至3.12,教程做了两处关键调整:用aiosmtpd替代已移除的smtpd模块来测试邮件发送;用带时区的时间戳替代已弃用的datetime.utcnow()。此外,还清理了Python 2时代的遗留写法,如显式继承object和带参数的super()。这些改动确保教程代码在现代Python版本中能顺利运行,并遵循官方推荐实践。

教程结构不变与视频课程现状

2024版仍保持23章的结构,与2018/2021版一致。Heroku章节因需付费账户而保留,但读者可跳过。作者决定不制作新版视频课程,因为每章都有重大更新,重录成本高,且视频课程销量不佳。现有2018/2021版视频课程继续出售,但已注明内容稍有过时,建议配合免费的文字教程学习。

❓

Q&A

Flask Mega-Tutorial 2024版主要更新了哪些技术栈?

2024版全面更新至Flask 3.0和SQLAlchemy 2.0,升级Bootstrap到5.3.2并移除jQuery,支持Python 3.8至3.12,用aiosmtpd替代smtpd,改用带时区的时间戳。

2024版在SQLAlchemy 2.0方面有哪些具体变化?

2024版采用基于类型提示的现代语法定义数据库模型,使用新的select()查询接口,并用推荐的write-only关系替代旧的dynamic关系。

2024版为什么移除了jQuery?

因为现代浏览器API一致性大幅提升,jQuery已不再必要。Bootstrap 5不再依赖jQuery,因此教程中所有jQuery用法都被替换为原生浏览器API。

2024版对Python版本的支持范围是什么?

2024版支持Python 3.8到3.12。为兼容这些版本,教程用aiosmtpd替代了被移除的smtpd模块,并改用带时区的时间戳替代已弃用的datetime.utcnow()。

2024版教程的章节结构有变化吗?

没有变化,仍然保持23章,章节布局与2018和2021版相同。

2024版还会制作新的视频课程吗?

不会。由于每个章节都有重大更新,重新录制视频课程需要投入大量时间,而视频课程销量不佳,因此决定不制作新版视频课程,继续销售2018/2021版视频课程。

🏷️

标签

➡️

继续阅读