Frappe 应用

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