Frappe:Python + MariaDB 的全栈低代码框架
分类:工具实测 浏览量:71
摘要:
Frappe 是一个用 Python 和 JavaScript 编写的全栈低代码 Web 应用框架,适合快速搭建内部工具、业务后台或 ERP 系统。它能帮助电商或业务团队快速搭建一套带权限的业务系统,内置角色权限管理器、自动生成 REST API 和报表构建器,省去大量重复的 CRUD 代码和前后端联调工作。该框架尤其适合熟悉 Python 的后端开发者、希望用一个框架搞定全栈开发的小团队技术负责人,以及愿意折腾自部署的玩家。

Frappe 是一个全栈低代码 Web 应用框架,用 Python 和 JavaScript 写成。它适合想快速搭建内部工具、业务后台或 ERP 系统的开发者,能省掉大量重复的 CRUD 代码。这个框架的完整度很高,但上手门槛不低。
适合谁
Python 后端开发者:如果你已经熟悉 Python,Frappe 的模型定义、权限体系和 REST API 能减少很多重复劳动,不用再写一遍增删改查接口。
小团队的技术负责人:想用一个框架同时搞定前端页面、后端逻辑和数据库结构,Frappe 比拼装 Flask + React + PostgreSQL 更省事。它自带后台管理界面,报表和审批流也能配出来。
愿意折腾的自部署玩家:Frappe 依赖 MariaDB、Redis、bench 等一堆组件,装好以后能跑得很顺畅,但前期配置不是一件轻松的事。
能解决什么问题
快速搭一套带权限的业务系统:框架内置角色权限管理器,能按角色控制谁能看哪些数据、改哪些字段。物料、客户、订单这类对象,用元数据定义就能出增删改查页面,不用手写表单。
省掉前后端接口联调:每个模型会自动生成 REST API,前端直接调用。官方 README 提到这个框架用了"语义网"的思路,应用按数据语义来组织,而不是按用户交互路径去设计,所以系统扩展起来更一致。
报表不用写死 SQL:内置报表构建器,非技术同事也能自己拖字段做查询。这对经常要改报表口径的业务场景很实用。
怎么开始用

最省事的方式是 Docker 部署,仓库给了现成命令:
git clone https://github.com/frappe/frappe_docker
cd frappe_docker
docker compose -f pwd.yml up -d
等一两分钟,访问 localhost:8080 就能看到登录页,默认账号是 Administrator,密码 admin。
如果想要开发环境,用官方 bench 安装脚本可以一次性装好依赖(包括 MariaDB)。装完脚本会把新生成的密码存到 ~/frappe_passwords.txt,别删这个文件。ARM 架构(比如 Apple Silicon)的 Docker 配置在 frappe_docker 仓库里有单独说明。
优点和坑
优点:
- 全栈一体:前端列表视图、表单视图、后台管理都带好了,不用自己搭脚手架。
- 自带 MCP Server:给 AI 智能体提供工具来发现数据模型、读写文档、调用站点方法,这比较前沿。
- MIT 协议免费商用:Star 数 11040、Fork 5491,社区活跃度没问题。
坑:
- 学习曲线陡:README 原话是"Framework is not for the light hearted",新手入门不建议直接拿它学 Web 开发。
- 依赖重:服务端要 MariaDB、Redis,开发环境还要 bench 这个命令行工具,比装一个 Flask 项目重得多。
- 定制改造成本:虽然表单和视图可以自定义,但深入改逻辑要同时懂服务端 Python 脚本和客户端 JavaScript,小改动可以,大改动其实不省事。
- 云托管功能不全由自己控制:官方推荐部署在 Frappe Cloud 上,可以省去运维,但想在自建环境里跑完整功能,需要自己维护一套基础设施。
适合你吗
如果你的目标是从零快速搭一个多用户业务后台,并且你自己就是 Python 开发者、能接受一套偏重的框架,Frappe 值得投入时间。它是 ERPNext 的底层框架,ERPNext 是一个有超过 700 种对象类型的庞然大物,说明 Frappe 撑得住复杂的业务模型。
但如果你的需求只是做一个小工具、或者个人学习练手,用这个框架反而会拖慢进度。真要挑它的毛病,就是前期环境搭建和概念学习的时间成本都不低,适合有充足时间的人。
---
常见问题
Frappe框架是什么意思,主要用来做什么?
Frappe是一个用Python和JavaScript编写的全栈低代码Web应用框架,主要用于快速搭建内部工具、业务后台或ERP系统。它内置了权限管理、REST API和报表构建器,能帮开发者省掉大量重复的CRUD代码,适合构建多用户的复杂业务系统。
Frappe怎么读?它的发音是什么?
Frappe的发音类似于“frap-ay”,重音在第一个音节。它是一个技术框架的名称,与咖啡饮品或芭蕾术语中的“frappé”不同,请注意区分。
Frappe和芭蕾术语里的frappé有关系吗?
没有关系。本文介绍的Frappe是一个开源的Web应用框架,用于软件开发。而芭蕾术语中的“frappé”指的是一种击打动作。两者只是英文拼写相似,但属于完全不同的领域。
Frappe有手机端App吗?
根据正文,Frappe是一个Web应用框架,主要生成的是Web后台系统。它没有提及提供专用的手机端App。其生成的管理界面可以通过手机浏览器访问,但并非原生App。
Frappe框架是免费的吗?商用有什么限制?
Frappe框架采用MIT开源协议,可以免费商用。它在GitHub上拥有超过11040个Star和5491个Fork,社区活跃,你可以自由地用于商业项目而无需支付许可费用。
相关工具推荐
- 了解同为Python框架的Django CMS,请阅读这篇Django驱动的企业级开源CMS拆解
- 如需管理商品数据,可以参考这篇开源PIM系统UnoPim的选型拆解
- 如果想寻找其他自托管的CMS方案,可以看看这篇关于October自托管CMS的介绍
官方地址,点开新窗口;本文仅为工具介绍,与该项目无隶属关系。


