如何在 Django 模板中使用 __repr__ 方法?
Posted
技术标签:
【中文标题】如何在 Django 模板中使用 __repr__ 方法?【英文标题】:How to use __repr__ method within django template? 【发布时间】:2013-11-24 04:51:44 【问题描述】:例如嵌套循环中有一个对象:
% 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 %
,但当我想检查嵌套循环中的变量时发现它很糟糕......)
【问题讨论】:
***.com/questions/6571649/…的可能重复 【参考方案1】: value|stringformat:'r'
使用字符串 %
运算符样式格式和使用 repr()
的 r
格式
【讨论】:
【参考方案2】:您可以轻松编写一个模板过滤器,让您可以执行 var|asrepr
。请参阅文档,但它看起来像这样:
@register.filter
def asrepr(value):
return repr(value)
【讨论】:
以上是关于如何在 Django 模板中使用 __repr__ 方法?的主要内容,如果未能解决你的问题,请参考以下文章
如何在模板中显示 Django '__all__' 表单错误?
django __unicode__() - 我如何在模板中调用此方法