跳转至

模板语法

本页面介绍模板引擎支持的语法。

变量语法

基本变量

使用双大括号包裹变量名:

{{variable_name}}

对象属性

访问对象属性使用点号:

{{user.name}}
{{order.total_amount}}
{{product.price}}

过滤器

格式化数字

{{amount|format_number}}
{{price|currency}}
{{ratio|percentage}}

格式化日期

{{date|date_format}}
{{created_at|datetime}}

完整示例

示例: 发票模板

在 Excel 中创建模板:

发票编号: {{invoice_no}}
客户姓名: {{customer.name}}
地址: {{customer.address}}
金额: {{amount|currency}}
日期: {{date|date_format}}

渲染数据:

from symphra_excel.templates import TemplateWorkbook

with TemplateWorkbook("invoice.xlsx") as template:
    data = {
        "invoice_no": "INV-001",
        "customer": {
            "name": "张三",
            "address": "北京市朝阳区",
        },
        "amount": 12345.67,
        "date": "2024-01-15",
    }

    template.render(data)
    template.save("invoice_rendered.xlsx")

表达式

简单计算

{{price * quantity}}
{{total * 0.1}}

字符串连接

{{first_name + " " + last_name}}

最佳实践

✅ 推荐做法

data = {
    "title": "报表标题",
    "user": {"name": "张三", "id": 123},
    "items": [...]
}

template.render(data)

❌ 避免的做法

data = {
    "{{title}}": "错误",
}

下一步