所以我想将django中的词典列表存储为HTML表格,以便我可以将它与django_tables2一起使用。什么是最好的方式来解决这个问题?现在我有这个:
我的view.py
:
context = {'campaigns': campaigns, 'ad_account': ad_account}
return render(request, 'index.html', context)
广告系列的展示位置如下:
[<Campaign> { "effective_status": "PAUSED", "id": "6038662580877", "name": "test22", "objective": "APP_ENGAGEMENT" }, <Campaign> { "effective_status": "PAUSED", "id": "6038659889677", "name": "just a test", "objective": "APP_ENGAGEMENT" }]
我无法将当前方法与django_tables一起使用,因为它只接受一个表。我现在做的是粘贴在下面,并在1页中生成一个完整的表格,这是不可行的,因为添加了更多的数据。
<table class="table table-bordered table-striped" id="campaigns">
<thead>
<tr>
<th> #</th>
<th> Name</th>
<th> Objective</th>
<th> Effective Status</th>
</tr>
</thead>
<tbody>
{% for campaign in campaigns %}
<tr>
<td> {{ forloop.counter }} </td>
<td>
<a href="/ad/{{ ad.id }}/campaigns/{{ campaign.id }}/ad_sets">
{{ campaign.name }} </a>
</td>
<td> {{ campaign.objective }}</td>
<td> {{ campaign.effective_status }} </td>
</tr>
{% endfor %}
</tbody>
</table>
答案 0 :(得分:0)
django_table contains examples的文档,用于使用dict
个对象列表构建Table
。
我们将使用dicts列表演示一个示例。定义表时,必须声明每列。如果您的数据与模型中的字段匹配,则可以通过Table.Meta.model选项自动声明列,但对于非查询集数据,您可能希望手动声明它们:
import django_tables2 as tables data = [ {'name': 'Bradley'}, {'name': 'Stevie'}, ] class NameTable(tables.Table): name = tables.Column() table = NameTable(data)
然后就像以前一样使用模板中的表格。