Frozen-Flask:把 Flask 应用变成静态文件

发布时间:2026/6/13 19:19:03
Frozen-Flask:把 Flask 应用变成静态文件 文章目录Frozen-Flask把 Flask 应用变成静态文件Frozen-Flask把 Flask 应用变成静态文件Flask 是 Python 里最常用的 Web 框架之一但部署 Flask 应用需要服务器端环境。如果只是做个博客或文档站租 VPS、配环境、保活进程一套下来成本不低。Frozen-Flask 解决的就是这个问题把 Flask 应用冷冻成纯静态文件扔到 Nginx 或任何 Web 服务器就能直接访问。原理不复杂。你的 Flask 应用定义好路由Frozen-Flask 启动应用实例逐个访问注册的路由把返回的 HTML 保存成独立文件。最终产出一整套 HTML、CSS、JS 和静态资源跟用 Hugo、Jekyll 这类静态站点生成器的效果一样。这意味着你可以继续用 Flask 的开发体验Jinja2 模板、路由组织、上下文处理器但最终交付的是纯静态文件。不需要 WSGI 服务器不需要进程管理连 Python 环境都不用在生产服务器上装。这种做法有几个实际好处。服务器开销低静态文件只需要 Web 服务器分发一个 Flask 进程占的内存全省了。安全风险小没有动态执行环境SQL 注入这类攻击面基本不存在。响应速度快静态文件可以配合 CDN 全球分发用户访问延迟大幅降低。项目使用方式也简单。pip 安装后在 Flask 应用代码里导入 Frozen-Flask注册 URL 生成器调用 freeze 方法即可。还支持外部 URL 生成器、自定义 404 处理、文件重命名等进阶功能。Frozen-Flask 最早由 SimonSapin 创建后来经过 honzajavorek 和 tswast 维护目前由 CourtBouillon 接手。BSD 3-clause 协议开源贡献者保留版权提交即视为同意在相同协议下授权。开发工作流基于 Hatch一条命令就能跑测试、检查代码风格、构建文档。适用场景很明确基于 Flask 的内容型网站。文档站、个人博客、项目落地页、活动宣传页这些场景不需要动态交互用 Frozen-Flask 生成静态文件部署省成本也省心。如果你已经在用 Flask但不想在部署上花太多精力这个项目值得看看。在部署上花太多精力这个项目值得看看。