Django 'getattr(row),', 预期'empty' 或 'endfor



我正在使用的代码:

{% for row in all_rows %}
<tr>
{% for names in all_fields_names %}
<td> {% getattr(row, names) %} </td>
{% endfor %}
</tr>
{% endfor %}

我收到错误:

'getattr(row(,",预期为"空"或"endfor">

我试过:

{% for row, names in (all_rows, all_fields_names) %}
<tr>
<td> {% getattr(row, names) %} </td>
</tr>
{% endfor %}

没有成功。有什么想法吗?

您不能在模板中调用这样的函数。您需要创建自定义模板标记。

自定义模板标签:

@register.simple_tag
def getattr(row, field_name, default=None):
return getattr(row, field_name, default)

在模板中调用它,如下所示:

{% for row, names in (all_rows, all_fields_names) %}
<tr>
<td> {% getattr row names %} </td>
</tr>
{% endfor %}

相关内容

  • 没有找到相关文章

最新更新