SuperAPI AI 工具集

frappe-syntax-customapp

通用与其它

查看项目

更新于 10-15 22:18

技能介绍

用途:为从零构建 Frappe 自定义应用提供确定性语法参考,涵盖脚手架、配置、模块、补丁与 fixtures,并给出新建应用与扩展现有应用的决策路径。

主要能力:

  • 应用创建与安装:bench new-app my_custom_app、bench --site mysite install-app my_custom_app、bench get-app <url>、bench build --app my_custom_app、bench --site mysite migrate。
  • 目录结构:v15+ 使用 pyproject.toml(flit_core),v14 使用 setup.py(setuptools);init.py 必须包含 version,否则 flit 构建失败。
  • pyproject.toml 规则:name 必须与内层目录名一致;dynamic = ["version"] 必填;frappe/erpnext 不得放入 [project] dependencies,应放入 [tool.bench.frappe-dependencies]。
  • 模块:modules.txt 每行一个模块名,不留空行或尾随空格;模块名用空格,目录名用下划线;每个模块目录需 init.py。
  • 补丁:patches.txt 使用 [pre_model_sync] 与 [post_model_sync] 分区;补丁只运行一次,可用注释使行唯一以重跑;建议分批处理并 frappe.db.commit()。
  • fixtures:在 hooks.py 配置,支持全量或带 filters;用 bench --site mysite export-fixtures --app my_custom_app 导出,迁移或安装时自动导入;需按依赖顺序排列。

适用场景:新建独立应用、扩展 ERPNext、通过 fixtures 添加自定义字段或属性设置、通过补丁做数据迁移。

限制:资料未提供具体收费、价格、平台支持范围与效果数据;版本差异中 v16 的 Python 最低版本为 >=3.14,其余细节暂未提供。