这些是 frappe 提供的白名单方法,可用于 Jinja
模板中。
frappe.format
frappe.format(value, df, doc)
将原始值(存储在数据库中)格式化为用户可读的格式。
例如,将 2019-09-08 转换为 08-09-2019
用法
{{ frappe.format('2019-09-08', {'fieldtype': 'Date'}) }}
09-08-2019
frappe.format_date
frappe.format_date(date_string)
将日期格式化为人类可读的长格式。
用法
{{ frappe.format_date('2019-09-08') }}
September 8, 2019
frappe.get_url
frappe.get_url()
返回站点 URL
用法
{{ frappe.get_url() }}
https://frappe.io
frappe.get_doc
frappe.get_doc(doctype, name)
根据名称返回文档。
用法
{% 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)
返回某个 DocType 的所有记录列表。如果未提供 name 参数,则仅返回文档的 fields。
签名
frappe.get_all(doctype, filters, fields, order_by, start, page_length)
用法
{% 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)
与 frappe.get_all 类似,但会根据当前会话用户的权限过滤记录。
frappe.db.get_value
frappe.db.get_value(doctype, name, fieldname)
从文档中返回单个字段值(或值列表)。
用法
{% 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)
从单个 DocType 返回字段值。
用法
{% set timezone = frappe.db.get_single_value('System Settings', 'time_zone') %}
{{ timezone }}
Asia/Kolkata
frappe.get_system_settings
frappe.get_system_settings(fieldname)
从系统设置中返回字段值。
用法
{% 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)
返回文档类型的元数据。其中包含字段、标题字段、
图片字段等信息。
用法
{% 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)
返回传入用户邮箱的完整姓名。如果未传入用户,则假定为
当前登录用户。
用法
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
frappe.render_template
frappe.render_template(template_name, context)
使用上下文渲染 Jinja 模板字符串或文件。
用法
{{ frappe.render_template('templates/includes/footer/footer.html', {}) }}
{{ frappe.render_template('{{ foo }}', {'foo': 'bar'}) }}
bar
frappe._
frappe._(string) 或 _(string)
用法
{{ _('This string should get translated') }}
इस तार का अनुवाद होना चाहिए
frappe.session.user
返回当前会话用户
frappe.session.csrf_token
返回当前会话的 CSRF 令牌
frappe.form_dict
如果模板在 Web 请求中求值,则 frappe.form_dict 是
查询参数的字典,否则为 None。
frappe.lang
翻译函数当前使用的语言。两位小写字母代码。