Python 在Django中将模型的多个实例显示为表
对于显示模型的一个实例,我将其显示为 tags\u file.pyPython 在Django中将模型的多个实例显示为表,python,django,django-models,django-templates,Python,Django,Django Models,Django Templates,对于显示模型的一个实例,我将其显示为 tags\u 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, n
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
这将显示我的模型“obj”的一个实例。
但是,如果我想显示模型的多个实例,例如如果我有obj1、obj2、obj3,如何以表格格式显示它们?您可以传递一个对象列表,然后对其进行迭代:
return render_to_response('display.html',
{'outputs': [obj1, obj2, obj3],})
然后在模板中:
{% for obj in outputs %}
{{ obj|as_table|safe }}
{% endfor %}
您可以传递对象列表,然后对其进行迭代:
return render_to_response('display.html',
{'outputs': [obj1, obj2, obj3],})
然后在模板中:
{% for obj in outputs %}
{{ obj|as_table|safe }}
{% endfor %}
你在找一个吗?你在找一个吗?。。