在 django 模板中无法直接使用 python 风格的字典索引(如 `record['fields']['nombre']`),必须改用点号(`.`)语法访问属性或字典键,且键名需为合法标识符(如 `nombre`)。
Django 模板语言(DTL)不支持方括号索引语法(如 ['fields'] 或 ['Nombre']),这是导致 Could not parse the remainder: '\['fields'\]\['Nombre'\]' 错误的根本原因。DTL 仅支持通过点号(.)访问对象属性、字典键(前提是键名为有效 Python 标识符)或列表索引(如 item.0),但不支持任意字符串键的方括号访问。
✅ 正确写法(推荐):
{{ record.fields.Nombre }} {{ record.fields.Apellido }} {{ record.fields.Email }}
⚠

# views.py
for r in airtable_data:
fields = r.get('fields', {})
r['display'] = {
'nombre': fields.get('Nombre', ''),
'apellido': fields.get('Apellido', ''),
'email': fields.get('Email', ''),
}模板中即可安全使用:{{ record.display.nombre }}。
? 小技巧:可在模板中用 |default 过滤器增强健壮性:
{{ record.fields.Nombre|default:'—' }}
总结:Django 模板不是 Python 解释器——它有独立的、受限的表达式语法。始终优先使用 obj.attr 而非 obj['attr'],并在数据传入模板前确保结构清晰、键名合规。