资讯动态

快速上手 Frappe 低代码框架:从安装到首次运行的完整指南

发布时间:2026/9/16 18:57:15 来源:尧图企业网站定制
快速上手 Frappe 低代码框架从安装到首次运行的完整指南【免费下载链接】frappeLow code web framework for real world applications, in Python and Javascript项目地址: https://gitcode.com/GitHub_Trending/fr/frappeFrappe 低代码框架是什么定位与核心能力Frappe 低代码框架是一个基于 Python 和 JavaScript 的全栈低代码 Web 框架其设计信条是最好的代码是你没写的那部分你用元数据定义数据模型DocType框架自动为你生成数据库表、表单界面、列表视图、REST API 和权限控制开发者只需专注业务逻辑本身。它从 2005 年起持续演进支撑着 ERPNext 这类拥有 700 多个数据模型的重量级应用。如果你要构建 ERP、CRM、人事或项目管理这类数据密集型管理系统或者希望用 Python 做一个低代码底座Frappe 就是为此而生的工具。站点跑起来后入口就是上图这样的 Desk 管理台数据模型、视图、权限都在这里维护。知道了它是什么下一步就是亲手把环境跑起来。 用 Bench 三步完成 Frappe 站点的首次安装与启动Frappe 本体是一个 Python 包日常的一切操作都依赖Bench——这是 Frappe 的命令行环境管理器统一管理 bench 工作目录、应用App即可安装的插件包、站点Site和服务器生命周期。安装 bench 时建议用官方安装脚本它会顺带装好 MariaDB、Redis 等依赖本框架要求 Python 3.14见 pyproject.toml。准备装好 bench 后把本仓库克隆进 bench 的 apps/ 目录然后创建站点、启动服务git clone https://gitcode.com/GitHub_Trending/fr/frappe bench new-site frappe.localhost bench startbench new-site一条命令完成建库、写入站点配置、创建管理员等全部初始化bench start在 8000 端口拉起 Web 服务。验证成功在浏览器打开http://frappe.localhost:8000/app用 Administrator 账号和建站点时设置的密码登录。看到 Desk 首页就说明站点起来了。这里有个关键概念站点是 Frappe 最小的运行单元一个 bench 可以放多个站点每个站点有独立的数据库。站点的数据库名、密码、邮件等配置存放在sites/站点名/site_config.json改完配置用bench migrate或重启即可生效。站点跑起来后你多半会好奇这些表单和表格是谁生成的答案是 DocType。理解 DocTypeFrappe 元数据驱动的核心机制DocType是整个框架的地基一个 DocType 就是一个业务对象商品、订单、待办它是一份 JSON 元数据定义同时描述了数据库表结构、表单布局、字段类型和角色权限。本仓库的 frappe/core/doctype/ 下就有 113 个框架自带的核心 DocType——User、Role、Communication 都这么定义没有任何一个是用 ORM 手写出来的。运行时框架通过 frappe/model/meta.py 的 Meta 类加载这些元数据frappe/model/document.py 的 Document 类负责校验、事件钩子和落库。所以用 Python 写一条记录一行 SQL 都不用import frappe doc frappe.new_doc(To Do) doc.text hello from frappe doc.insert()new_doc按元数据构建 Document 实例insert()会校验字段、触发validate/before_insert等事件后写入数据库。随后该 DocType 的 REST 接口形如/api/resource/To Do、列表视图、表单界面和权限过滤就自动就位了——这也是低代码三个字的来源。理解了数据是怎么定义的接下来看框架是如何组织应用、处理请求的。站点、应用与请求流程看懂 Frappe 的运行机制Frappe 的运行可以拆成三层应用可安装的最小单元。每个应用是一个 Python 包靠自己的hooks.py向框架注册应用名、安装/卸载钩子、前端资源等本仓库的 frappe/hooks.py 就是框架自身的注册文件全部可用的钩子清单在根目录的 hooks.md。你写自己的 App 时主要就是填这份文件。站点应用的运行容器配置合并逻辑在 frappe/config.py 的get_site_config——把站点级site_config.json与公共配置叠加成一个全局配置对象。请求流程入口是 frappe/asgi.py它在 uvicorn 下挂载 Web 应用/socket.io/路径交给独立的实时服务其余请求进入 frappe/handler.py 的调度最终路由到对应 DocType 的控制器或frappe.whitelist()标记的接口函数。想加实时推送按 frappe/realtime/README.md 在自己的应用里用realtime.on(事件名)装饰一个函数即可无需改动框架。读源码的话建议从frappe/asgi.py和frappe/handler.py这两个入口顺着往下走请求全链路一小时内能看完。 进阶学习路径从跑起来到读懂、贡献贡献规范AGENTS.md 汇总了代码风格、测试要求和审查红线动手改框架前先读它。测试体系frappe/tests/README.md 介绍单元测试框架cypress/ 下是按功能组织的端到端测试很适合对照功能学框架。前端源码基于 Vue 的 Desk 前端在 ui/构建产物位于 frappe/public/。社区入口README 中提到的 Frappe School官方课程、官方文档与讨论论坛是持续学习的捷径。从克隆仓库到跑通第一个站点你只需要上文三个命令而从站点到贡献代码Frappe 已经把路径都铺在仓库里了。【免费下载链接】frappeLow code web framework for real world applications, in Python and Javascript项目地址: https://gitcode.com/GitHub_Trending/fr/frappe创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

读完文章,也想定制专属网站?

尧图设计师 24 小时内与您沟通定制方案

免费获取报价