Ontwikkelaars
Frappe-apps maken betekent Python + JavaScript + JSON schrijven. Het platform regelt frameworkzaken (auth, DB, UI-rendering, API); uw app levert de domeinlogica.
App-structuur
my_app/
├── my_app/
│ ├── hooks.py # Wire up doc_events, fixtures, web routes
│ ├── install.py # after_install, after_migrate
│ ├── modules.txt
│ ├── my_module/
│ │ ├── doctype/ # Uw DocTypes (één map per stuk)
│ │ ├── custom/ # Hook-handlers voor DocTypes van andere apps
│ │ ├── report/
│ │ └── workspace/
│ └── public/ # JS, CSS, images
├── pyproject.toml
└── setup.py
Belangrijke uitbreidingspunten (hooks.py)
| Hook | Gebruik |
|---|---|
doc_events |
Reageer op lifecycle-events van elk DocType (validate, on_submit, on_cancel) |
doctype_js |
Injecteer client-side scripts op specifieke DocType-formulieren |
scheduler_events |
Draai code op cron-schema's (uurlijks, dagelijks, custom cron) |
permission_query_conditions |
Filter lijstweergaven met eigen permissie-logica |
override_doctype_class |
Vervang de controller van een DocType door uw eigen |
fixtures |
Lever referentiedata mee (Rollen, Workspaces, Custom Fields) |
DocType-lifecycle
class MyDoc(Document):
def before_insert(self): ... # Voor eerste opslag
def validate(self): ... # Voor elke opslag
def on_update(self): ... # Na opslag
def before_submit(self): ... # Voor indienen
def on_submit(self): ... # Na indienen
def on_cancel(self): ... # Na annuleren
def on_trash(self): ... # Voor verwijdering
Verder lezen
- Frappe developer docs: frappeframework.com/docs
- Frappe source: github.com/frappe/frappe
- Frappe School (betaalde cursussen): frappe.school
Last updated 3 days ago
Was this helpful?