Frappe 入门:把一套业务单据从建模到上线压缩到一天
2026/9/16 15:37:03 网站建设 项目流程

Frappe 入门:把一套业务单据从建模到上线压缩到一天

【免费下载链接】frappeLow code web framework for real world applications, in Python and Javascript项目地址: https://gitcode.com/GitHub_Trending/fr/frappe

Frappe(Frappe Framework)是一个用 Python 和 JavaScript 编写的低代码 Web 框架,定位是给真实业务做后端系统用的。读完全文,你会知道 Frappe 怎么用:从克隆仓库到跑起站点,再到用 DocType 建出自己的第一张业务单据和第一套权限。

它替你省掉了哪些活

  • DocType 建模—— 定义一次,直接拿到数据表、API 和管理界面
  • 表单构建器—— 拖拽改字段布局,省掉手写前端
  • 角色权限管理器—— 按角色勾选读、写、删权限,不用写访问控制代码
  • 工作流引擎—— 配好状态和转换条件,审批流不用自己搭状态机
  • 自动 REST API—— 建完数据表就能直接 HTTP 读写,前后端联调不等人
  • 报表与仪表盘—— 列表、图表、数字卡拼装成监控页,省掉图表库集成

从克隆到跑通:最短路径

  1. 克隆仓库:
git clone https://gitcode.com/GitHub_Trending/fr/frappe cd frappe
  1. 拉起容器环境(依赖 docker 与 docker compose):docker compose -f pwd.yml up -d
  2. 建第一个站点:bench new-site your-site.com
  3. 浏览器打开站点地址,用默认管理员账号登录

看到带侧边栏的工作台界面,说明 Frappe 环境已经就绪。

核心机制深潜

DocType:把表结构、API、界面一次生成

DocType 是 Frappe 的数据建模原子,一个 DocType 对应一份 JSON 定义加一个 Python 文件,保存后自动生成数据库表、REST API 端点和后台管理界面。字段、Link 关联、校验、编号规则都写在这份定义里,改完即重建,不存在模型、接口、页面三处代码各写一遍的问题。定义参考:frappe/core/doctype/doctype/doctype.py。

角色权限:权限是一份可编辑的数据,不是代码

Frappe 把权限做成独立数据,在 Role Permissions Manager 里按 DocType × 角色勾选 Read、Write、Create、Delete,还能限定"仅创建者可见"。权限保存后立即生效,REST API 调用同样受这套权限约束,细粒度控制不用改一行代码。

场景演练:拿它搭一个库存小系统

需求:商品和出入库两类单据,出库不能把库存扣成负数。

建模:新建ItemStock Entry两个 DocType,后者用 Link 字段指向商品,Item上加一个stock_qty浮点字段。

逻辑:业务规则写进 Python 钩子,库存变化不靠手动维护:

def validate(self): item = frappe.get_doc("Item", self.item) if self.stock_entry_type == "入库": item.stock_qty += self.qty else: if item.stock_qty < self.qty: frappe.throw("库存不足") item.stock_qty -= self.qty item.save()

验证:建一个商品,做一笔入库、再笔超额出库,第二条会直接报错,说明校验已经生效。

继续往下走

  • 官方文档(安装、DocType 与权限配置):docs.frappe.io
  • Frappe School:免费视频教程,frappe.io/school
  • ERPNext:基于 Frappe 构建的开源 ERP,看真实项目怎么用它

Frappe 把一套业务单据从建模到上线压进一天的承诺,到这里就算兑现了一半。把仓库拉下来,按第 2 节的路径跑一遍,然后新建你自己的第一个 DocType。

【免费下载链接】frappeLow code web framework for real world applications, in Python and Javascript项目地址: https://gitcode.com/GitHub_Trending/fr/frappe

创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询