为了显示我的模型的一个实例,我正在显示它,
tags_file.py
from django import template
register = template.Library()
@register.filter()
def as_table(model):
ret = ""
for name in model._meta.get_all_field_names():
try:
field = str(getattr(model, name))
if field:
ret += '<tr><td class="name">'+name+'</td><td class="field">'+field+'</td></td>'
except AttributeError:
pass
return ret
display.html
{% load tags_file %}
<table>
{{output|as_table|safe}}
</table>
views.py
return render_to_response('display.html',
{'output': obj,})
这显示了我的模型的一个实例'obj'。 但是如果我想显示我的模型的多个实例,比如我有obj1,obj2,obj3,我该如何以表格格式显示它们?
答案 0 :(得分:0)
您可以传递一个对象列表,然后迭代它:
return render_to_response('display.html',
{'outputs': [obj1, obj2, obj3],})
然后在模板中:
{% for obj in outputs %}
{{ obj|as_table|safe }}
{% endfor %}