在 Frappe 框架的服务器脚本、打印格式和脚本报表中可以调用的受限命令列表
注意: 这仅适用于应用内脚本。如果您需要更多功能,您必须创建一个“应用程序”并在 Python 模块中编写事件处理程序
Python 模块
以下 Python 模块可用
json
Python 标准模块 json
格式化
_(翻译)
翻译一个字符串
示例:_("This is translatable")
frappe.format
根据数据类型格式化一个值
示例:frappe.format_value(value, dict(fieldtype='Currency'))
frappe.date_format
格式化为默认日期格式
frappe.format_date
返回日期如“2019年9月1日”
会话
frappe.form_dict
表单/请求参数
示例:请求参数 /page?name="test" 可以通过 frappe.form_dict.name 访问
frappe.request
请求对象
frappe.response
响应对象
frappe.session.user
当前用户
frappe.session.csrf_token
当前会话的 CSRF 令牌
frappe.user
当前用户
frappe.get_fullname
返回当前用户的全名
frappe.get_gravatar
从 frappe.utils.get_gravatar_url 获取用户显示图像
frappe.full_name
当前用户的全名
文档(ORM)
文档访问和编辑
frappe.get_meta
获取元数据对象
frappe.new_doc
创建一个新的文档记录。
frappe.get_doc
获取文档。您还可以保存或执行文档公开的任何方法。
示例:frappe.get_doc("User", frappe.session.user)
frappe.get_last_doc
获取特定 DocType 的最后一条文档,可带有一组给定的过滤器。默认为最后创建的。
示例:frappe.get_last_doc("User", filters={"name": ("like", "%@apple.com")})
frappe.get_cached_doc
获取文档(或缓存的)
frappe.get_mapped_doc
frappe.rename_doc
frappe.delete_doc
frappe.get_system_settings
获取系统默认设置
数据库
数据库访问 API
frappe.db.get_list
获取由当前用户权限过滤的记录列表
示例:frappe.db.get_list("Customer") 将返回客户列表
frappe.db.get_all
获取所有记录的列表
frappe.db.sql
运行一个 SELECT 查询
示例:frappe.db.sql("select name from Customer where name like 'm%'")
frappe.db.get_value
从记录中获取一个值
示例:frappe.db.get_value("User", frappe.session.user, "first_name")
frappe.db.get_single_value
从单类型文档中获取值
示例:frappe.db.get_single_value("System Settings", "default_currency")
frappe.db.get_default
获取默认值
frappe.db.escape
清理数据库查询的值以防止 SQL 注入
frappe.db.set_value
设置一个值
frappe.db.exists
检查文档是否存在。如果存在则返回文档的 name,否则返回 None。
frappe.db.commit
允许用户在服务器脚本(如自定义调度器脚本)中进行显式提交。
注意:这在任何 DocType 事件服务器脚本中都不起作用
frappe.db.rollback
允许用户通过服务器脚本回滚更改。
注意:这在任何 DocType 事件服务器脚本中都不起作用
查询构建器
frappe.qb
用于运行 SELECT 查询的查询构建器 API。
示例:frappe.qb.from_("Task").select("*").run()
实用工具
实用方法和函数
run_script
运行一个服务器脚本(返回值在 frappe.flags 中)
frappe.msgprint
在服务器端作为响应的一部分显示一个模态框。
示例:frappe.msgprint("Hello")
frappe.get_hooks
获取应用程序钩子
frappe.utils
frappe.utils 中的方法
frappe.render_template
渲染一个 Jinja 模板
frappe.get_url
通过 frappe.utils.get_url 获取当前站点的 URL
socketio_port
socketio 的端口
style.border_color
返回 ‘#d1d8dd’
guess_mimetype
返回 mimetypes.guess_type
html2text
将 HTML 编码为文本(markdown)
dev_server
如果处于开发者模式则为 True
frappe.log_error
生成带有回溯的错误日志
FrappeClient
使用 requests 会话连接到 Frappe 站点
API
从 Frappe 发起外部 API 调用。
frappe.make_get_request
发起一个 GET 请求。
示例:frappe.make_get_request('https://example.com')
frappe.make_post_request
发起一个 POST 请求。
示例:frappe.make_post_request('https://example.com', data={'username: 'test'})
frappe.make_put_request
发起一个 PUT 请求。
示例:frappe.make_put_request('https://example.com', headers={'Auth': 'Bearer xyz'})
邮件
frappe.sendmail
发送一封邮件。请参阅文档
示例:frappe.sendmail(recipients=['[email protected]'], sender='[email protected]', subject='My Subject', message='<p>Hello</p>')