2.8 KiB
2.8 KiB
Créer une nouvelle application
Une fois que Bench est installé, vous apercevrez deux répertoires, apps and sites. Toutes les applications seront
installées dans apps.
Pour créer une nouvelle application, allez dans votre répertoire et lancer la commande, bench new-app {app_name} et
remplissez les informations à propos de votre application. Cela va créer un template d'application pour vous.
$ bench new-app library_management
App Title (defaut: Lib Mgt): Library Management
App Description: App for managing Articles, Members, Memberships and Transactions for Libraries
App Publisher: Frappe
App Email: info@frappe.io
App Icon (default 'octicon octicon-file-directory'): octicon octicon-book
App Color (default 'grey'): #589494
App License (default 'MIT'): GNU General Public License
Structure d'une application
L'application sera créée dans un répertoire appelé library_management et aura la structure suivante:
.
├── MANIFEST.in
├── README.md
├── library_management
│ ├── __init__.py
│ ├── config
│ │ ├── __init__.py
│ │ └── desktop.py
│ ├── hooks.py
│ ├── library_management
│ │ └── __init__.py
│ ├── modules.txt
│ ├── patches.txt
│ └── templates
│ ├── __init__.py
│ ├── generators
│ │ └── __init__.py
│ ├── pages
│ │ └── __init__.py
│ └── statics
├── license.txt
├── requirements.txt
└── setup.py
configconfiguration de l'applicationfolder contains application configuration infodesktop.pyest l'endroit ou les icones peuvent être ajoutées au bureauhooks.pycontient les définitions de la facon dont l'intégration avec l'environnement et les autres applications est faite.library_management(interne) est un module bootstrappé. Dans Frappe, un module est l'endroit ou sont les controlleurs et les modeles.modules.txtcontient la liste des modules dans l'application. Quand vous créez un nouveau module, c'est obligatoire de l'ajouter dans ce fichier.patches.txtcontient les patchs de migration. Ce sont des références Python utilisant la notation par point.templatesest le repertoire qui contient les templates des vues. Les templates pour Login et autres pages par défaut sont déjà contenus dans Frappe.generatorsest l'endroit ou sont stockés les templates des modèles. Chaque instance du modèle a une route web comme par exemple les articles de blog ou chaque article a une adresse unique. Dans Frappe, Jinj2 est utilisé pour les templates.pagescontient les routes uniques pour les templates. Par exemple "/blog" ou "/article"
{suite}