Django模板:如何在页面上完整转储对象
Posted
技术标签:
【中文标题】Django模板:如何在页面上完整转储对象【英文标题】:Django Template: how to dump object on page in full 【发布时间】:2012-12-11 04:49:08 【问题描述】:尽管有数据,但以下模板没有输出任何内容。
我的问题是……我是否可以将“点”对象的内容转储到模板中,以便查看其中的内容?
模板.py
<h3>% trans "Points" %</h3>
% if points %
<p>% trans "Total Points" %: points.Points </p>
<table>
<thead>
<tr>
<th>% trans "Transaction" %</th>
<th>% trans "Status" %</th>
<th>% trans "Points" %</th>
</tr>
</thead>
<tbody>
% for item in points.Points_items.all %
<tr>
<td> item.transaction_description </td>
<td> item.get_status_display </td>
<td> item.points </td>
</tr>
% endfor %
</tbody>
</table>
【问题讨论】:
【参考方案1】:我为此使用了自定义标签:
# Custom tag for diagnostics
@register.simple_tag()
def debug_object_dump(var):
return vars(var)
和
% load extra_tags %
...
% for thing in things %
<pre>% debug_object_dump thing %</pre>
% endfor %
【讨论】:
【参考方案2】:把这个贴在上面:
<h1>| points |</h1>
如果|
之间没有任何内容,则为空。
【讨论】:
我刚得到这个 [__str__
或 __unicode__
方法。【参考方案3】:
你可以使用% debug %
,它会转储很多信息,对调试这些情况很有用。
还有一个更细粒度的pprint
过滤器: points.Points|pprint
【讨论】:
以上是关于Django模板:如何在页面上完整转储对象的主要内容,如果未能解决你的问题,请参考以下文章