Frappe 应用是使用 Frappe 平台的 Python 包。它们可以存放在 Python 路径
中的任何位置,
并且必须在 apps.txt 文件中有一个条目。
创建应用
Frappe 自带一个新应用的样板。命令 bench new-app app-name 通过启动一个交互式 shell 来帮助你开始创建新应用。
% bench new-app sample_app
App Name: sample_app
App Title: Sample App
App Description: This is a sample app.
App Publisher: Acme Inc.
App Icon: icon-linux
App Color: #6DAFC9
App Email: [email protected]
App URL: http://example.com
App License: MIT
上述命令将创建一个具有以下目录结构的应用。
sample_app
├── license.txt
├── MANIFEST.in
├── README.md
├── sample_app
│ ├── __init__.py
│ ├── sample_app
│ │ └── __init__.py
│ ├── config
│ │ ├── desktop.py
│ │ └── __init__.py
│ ├── hooks.py
│ ├── modules.txt
│ ├── patches.txt
│ └── templates
│ ├── generators
│ │ └── __init__.py
│ ├── __init__.py
│ ├── pages
│ │ └── __init__.py
│ └── statics
└── setup.py
该样板包含的文件刚好足以在 [工作台] 上显示你的应用图标。
应用中的文件
hooks.py
hooks.py 文件定义了你的应用的元数据以及它与 Frappe 或 Frappe 应用
其他部分的集成点。这些部分的示例包括任务调度或监听系统中不同文档的更新。
目前,它只包含你在创建应用时输入的详细信息。
app_name = "sample-app"
app_title = "Sample App"
app_publisher = "Acme Inc."
app_description = "This is a sample app."
app_icon = "fa-linux"
app_color = "black"
app_email = "[email protected]"
app_url = "http://example.com"
app_version = 0.0.1
modules.txt
Frappe 中的模块帮助你组织 Frappe 中的文档,它们定义在
你的应用的 modules.txt 文件中。每个 [DocType] 都必须
归属于一个模块。默认情况下,会添加一个以你的应用名称命名的模块。
此外,每个模块在 [工作台] 上都会有一个图标。例如,[ERPNext] 应用
按以下模块进行组织。
accounts(账户)
buying(采购)
home(首页)
hr(人力资源)
manufacturing(制造)
projects(项目)
selling(销售)
setup(设置)
stock(库存)
support(支持)
utilities(工具)
contacts(联系人)
将应用添加到站点
一旦你有了一个应用,无论是你刚刚创建的还是你下载的其他应用,
你都需要执行以下操作。
通过 git 下载应用
bench get-app https://github.com/org/app_name
将应用安装到你的站点
bench --site site_name install-app app_name