【发布时间】:2014-01-04 21:12:47
【问题描述】:
我有一个 django 应用程序,我想在其中显示模型的对象。因此,我在我的方法中使用了包含标签,它返回一个数据表并用于在我的模板中显示结果。因此,在下面的自定义包含标签中,
*dir_extras.py*
@register.inclusion_tag('app_name/model_data.html')
def field_data(field):
data_list = Attributes.objects.values_list(field, flat=True)
return {'data_list':data_list}
我正在返回模型类属性的字段对象列表。呈现标签的模板如下:
*model_data.html*
{% load dir_extras %}
<table>
{% for data in data_list %}
<tr>
<td> {{data}} </td>
</tr>
{% endfor %}
</table>
我运行 field_data 标记并显示所有属性数据的模板如下:
*list.html*
<table>
<tr>
{% for field in fields %}
<th>{{ field.verbose_name }}</th>
{% endfor %}
</tr>
<tr>
{% for f_name in field_names %}
<td> {% field_data f_name %} </td>
{% endfor %}
</tr>
</table>
虽然所有表格列都对齐了,但行的格式仍然不一致。因此,行的元素没有相互对齐,而是第一个元素跨越了这么多,与其他 5 行的元素对齐。
格式是否因包含标签而改变,还是另一个问题,有办法解决吗?
【问题讨论】:
标签: html css django templates html-table