Documentation Frappe Framework

Frappe Framework

API Python

Ce chapitre est la référence de l’API Python de Frappe Framework : documents, base de données, Query Builder, tâches de fond, temps réel, hooks, API REST, Jinja et utilitaires.

1 min de lectureMis à jour le Source : docs.frappe.io

Contenu du chapitre

Ce chapitre est la référence de l’API Python de Frappe Framework : documents, base de données, Query Builder, tâches de fond, temps réel, hooks, API REST, Jinja et utilitaires.

Pages de ce chapitre, dans l’ordre de la documentation officielle :

  1. Temps réel (socket.io)
  2. Tâches de fond (Background Jobs)
  3. API Document
  4. API base de données
  5. API Jinja
  6. Cycle de vie d’une requête
  7. Résolution de la langue
  8. Fonctions utilitaires
  9. Réponses
  10. Recherche
  11. Hooks
  12. API REST
  13. API FullTextSearch
  14. API Dialog (Python)
  15. Query Builder
  16. frappe.qb.get_query
  17. Recherche SQLite

Dans ce chapitre

  1. 01Temps réel (socket.io)Frappe fournit une API d’événements temps réel fondée sur socket.io : écoute côté navigateur, publication côté serveur, gestionnaires personnalisés et salles d’abonnement.
  2. 02Tâches de fond (Background Jobs)Comment exécuter du code Python en arrière-plan avec frappe.enqueue, configurer files et workers, et planifier des tâches périodiques avec le hook scheduler_events.
  3. 03API DocumentToutes les fonctions et méthodes pour manipuler un Document Frappe en Python : chargement, création, enregistrement, suppression, renommage, commentaires, tags et arborescences.
  4. 04API base de donnéesToutes les fonctions de frappe.db pour lire, écrire et administrer la base de données d’un site Frappe, ainsi que le modèle de transaction appliqué par le framework.
  5. 05API JinjaListe des méthodes autorisées (whitelisted) que Frappe expose aux templates Jinja : formatage, lecture de documents et de valeurs, métadonnées, rendu et traduction.
  6. 06Cycle de vie d’une requêteDu chemin demandé à la page rendue : prétraitement, résolveur de chemin, sélection du moteur de rendu (StaticPage, TemplatePage, WebformPage, DocumentPage…) et hook page_renderer.
  7. 07Résolution de la langueComment Frappe choisit la langue d’une session (frappe.lang) et comment exploiter chaque niveau de priorité dans vos apps ou vos scripts.
  8. 08Fonctions utilitairesLes fonctions utilitaires que Frappe fournit dans frappe.utils pour manipuler dates et durées, formater, valider, générer des PDF, utiliser le cache Redis, envoyer des e-mails et plus.
  9. 09RéponsesFrappe construit la réponse HTTP selon un type. Pour un téléchargement, on renseigne le nom, le contenu et l’affichage inline ou en pièce jointe.
  10. 10RechercheLa recherche plein texte passe par une classe qui étend FullTextSearch. Elle décrit le schéma, les documents à indexer et la lecture du résultat.
  11. 11Hooksget_hooks met toutes les valeurs en liste. Assets, documents, planificateur et site web s’y déclarent. Un patch listé dans never_skip_patches arrête la migration s’il échoue.
  12. 12API RESTLa liste filtre, trie et pagine. Créer, lire, modifier et supprimer passent par le nom du document. Une méthode en liste blanche s’appelle sous /api/method.
  13. 13API FullTextSearchFullTextSearch enveloppe Whoosh pour indexer un document, retirer une fiche, reconstruire l’index et chercher un texte.
  14. 14API Dialog (Python)Depuis une requête, msgprint parle à l’utilisateur connecté au bureau. throw affiche le message et lève une exception.
  15. 15Query BuilderDocType ajoute le préfixe tab. Table ne l’ajoute pas. Les fonctions JSON existent à partir de la v16. Le code MATCH publié ne compile pas tel quel.
  16. 16frappe.qb.get_queryFiltres, jointures de liens et tables enfants, pagination et verrous. Un champ interdit disparaît du select, mais un filtre dessus lève une erreur.
  17. 17Recherche SQLiteOrthographe, fraîcheur et score BM25 se combinent. Le HTML est nettoyé. Sans enregistrement du hook, l’index reste manuel.