SuperAPI AI 工具集

frappe-app-development

编程与开发

查看项目

更新于 10-16 00:01

技能介绍

用途:从零创建自定义 Frappe 应用,规划模块、服务与工具层架构,配置 hooks.py 中的事件、调度与覆盖,实现后台任务与异步处理,构建服务层与领域逻辑,添加缓存、日志、错误处理工具,并准备生产部署与翻译、版本、打包管理。

主要能力:提供应用脚手架、目录结构模板(含 services、utils、background_jobs、integrations、translations)、hooks.py 配置示例(doc_events、scheduler_events、doctype_js、override_doctype_class、extend_doctype_class)、服务层与后台任务实现模式、缓存与错误工具、翻译标记与 CSV 文件、版本兼容性说明(extend_doctype_class 需 v16+,REST API v2 需 v15+,Token 认证需 v11.0.3+)。

必要用法:使用 bench new-app my_app 创建应用,bench --site mysite.local install-app my_app 安装,确认 developer_mode 为 True;按领域架构保持 DocType 控制器精简,业务逻辑放入服务模块;hooks.py 只放配置,逻辑导入自模块;后台任务用 frappe.enqueue 入队;翻译用 frappe._() 与 __() 标记;跨版本用 frappe.version 检查。验证包括安装无错、hooks 触发、后台任务完成、bench migrate 成功、测试通过。

适用场景:新建 Frappe 应用、设置应用架构、配置 hooks 与调度、实现异步导出等后台任务、构建服务层、添加缓存与日志、准备生产部署、管理翻译与版本。

限制:资料未提供具体收费、价格、平台或效果信息;部分功能有最低版本要求;hooks.py 修改后需 bench restart;每个目录需 init.py;避免 monkey-patch,使用 hooks 集成;自定义前端应使用 Frappe UI(Vue 3 + TailwindCSS),不使用原生 JS 或 jQuery;CRUD 应用应遵循 CRM/Helpdesk 模式。