例如,嵌套循环中有一个对象:
{% for fieldset in inline_admin_form %}
{% for line in fieldset %}
{% for field in line %}
{% if field.is_hidden %} {{ field.field }} {% endif %}
{% endfor %}
{% endfor %}
{% endfor %}
{% endif %}
现在,我想查看有关field.field
的班级名称和一些信息,因此我使用field.field.__repr__()
替换field.field
。
然而,django模板在更改后抱怨它:
Variables and attributes may not begin with underscores: 'field.field.__repr__'
有人对此有所了解吗?有没有更好的方法来调试django模板中的变量? (我试过{% debug %}
但是当我想在嵌套循环中检查一个变量时发现它很糟糕。)
答案 0 :(得分:12)
{{ value|stringformat:'r' }}
使用%
格式的字符r
运算符样式格式使用repr()
答案 1 :(得分:3)
您可以轻松编写模板过滤器,以便您执行{{ var|asrepr }}
。请参阅文档,但它看起来像这样:
@register.filter
def asrepr(value):
return repr(value)