Documentation Frappe Framework

Frappe Framework

API Jinja

Liste 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.

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

Présentation

Cette page liste les méthodes autorisées (whitelisted) que Frappe met à disposition dans les templates Jinja, par exemple pour les formats d’impression, les modèles d’e-mail ou les pages web.

Formatage

frappe.format

frappe.format(value, df, doc)

Convertit une valeur brute (telle que stockée en base de données) en un format présentable à l’utilisateur. Par exemple, 2019-09-08 devient 08-09-2019.

Utilisation :

html
{{ frappe.format('2019-09-08', {'fieldtype': 'Date'}) }}

09-08-2019

frappe.format_date

frappe.format_date(date_string)

Met une date en forme dans un format long lisible.

Utilisation :

html
{{ frappe.format_date('2019-09-08') }}

September 8, 2019

frappe.get_url

frappe.get_url()

Renvoie l’URL du site.

Utilisation :

html
{{ frappe.get_url() }}

https://frappe.io

Lecture de documents et d’enregistrements

frappe.get_doc

frappe.get_doc(doctype, name)

Renvoie un document d’après son nom.

Utilisation :

html
 {% set doc = frappe.get_doc('Task', 'TASK00002') %}
 {{ doc.title }} - {{ doc.status }}

 Buy Eggs - Open

frappe.get_all

frappe.get_all(doctype, filters, fields, order_by, start, page_length, pluck)

Renvoie la liste de tous les enregistrements d’un DocType. Si l’argument fields n’est pas fourni, seuls les name des documents sont renvoyés.

Signature :

python
frappe.get_all(doctype, filters, fields, order_by, start, page_length)

Utilisation :

html
 {% set tasks = frappe.get_all('Task', filters={'status': 'Open'}, fields=['title', 'due_date'], order_by='due_date asc') %}
 {% for task in tasks %}
 
### {{ task.title }}

Due Date: {{ frappe.format_date(task.due_date) }}

 {% endfor %}

### Redesign Website

Due Date: September 8, 2019

### Add meta tags on websites

Due Date: September 22, 2019

frappe.get_list

frappe.get_list(doctype, filters, fields, order_by, start, page_length)

Semblable à frappe.get_all, mais filtre les enregistrements selon les permissions de l’utilisateur de la session courante.

frappe.db.get_value

frappe.db.get_value(doctype, name, fieldname)

Renvoie la valeur d’un champ (ou une liste de valeurs) d’un document.

Utilisation :

html
 {% set company_abbreviation = frappe.db.get_value('Company', 'TennisMart', 'abbr') %}
 {{ company_abbreviation }}
 

 {% set title, description = frappe.db.get_value('Task', 'TASK00002', ['title', 'description']) %}
 ### {{ title }}

{{ description }}

TM

frappe.db.get_single_value

frappe.db.get_single_value(doctype, fieldname)

Renvoie la valeur d’un champ d’un DocType Single.

Utilisation :

html
 {% set timezone = frappe.db.get_single_value('System Settings', 'time_zone') %}
 {{ timezone }}
 

 Asia/Kolkata

frappe.get_system_settings

frappe.get_system_settings(fieldname)

Renvoie la valeur d’un champ des paramètres système (System Settings).

Utilisation :

html
 {% if frappe.get_system_settings('country') == 'India' %}
 Pay via Razorpay
 {% else %}
 Pay via PayPal
 {% endif %}

Pay via Razorpay

frappe.get_meta

frappe.get_meta(doctype)

Renvoie les métadonnées (meta) d’un DocType : champs, title_field, image_field, etc.

Utilisation :

html
 {% set meta = frappe.get_meta('Task') %}
 Task has {{ meta.fields | len }} fields.
 {% if meta.get_field('status') %}
 It also has a Status field.
 {% endif %}
 

 Task has 18 fields. It also has a Status field.

frappe.get_fullname

frappe.get_fullname(user_email)

Renvoie le nom complet de l’utilisateur dont l’e-mail est passé en argument. Sans argument, la méthode prend l’utilisateur connecté.

Utilisation :

html
The fullname of [email protected] is {{ frappe.get_fullname('[email protected]') }}
The current logged in user is {{ frappe.get_fullname() }}

The fullname of [email protected] is Faris Ansari
The current logged in user is John Doe

Rendu et traduction

frappe.render_template

frappe.render_template(template_name, context)

Rend une chaîne ou un fichier de template Jinja avec le contexte fourni.

Utilisation :

html
 {{ frappe.render_template('templates/includes/footer/footer.html', {}) }}

 
{{ frappe.render_template('{{ foo }}', {'foo': 'bar'}) }}

bar

frappe._

frappe._(string) ou _(string)

Traduit la chaîne passée en argument.

Utilisation :

html
{{ _('This string should get translated') }}

इस तार का अनुवाद होना चाहिए

Variables de session et de requête

VariableContenu
frappe.session.userL’utilisateur de la session courante.
frappe.session.csrf_tokenLe jeton CSRF de la session courante.
frappe.form_dictSi le template est évalué dans une requête web, un dictionnaire des paramètres de requête ; sinon None.
frappe.langLa langue courante utilisée par la fonction de traduction : code à deux lettres, en minuscules.

Pages liées

API Jinja Frappe : méthodes disponibles dans les templates | ERPNext Lab