for循环可以工作,但它不是将数据添加到表中,而是将数据添加到现有表的下面。
laptop_list.html
<div class="container">
<div class="table-responsive-sm">
<table class="table">
{%for laptop in laptops%}
<div class="table-responsive-sm">
<tbody>
<tr>
<td>{{laptop.laptop_id}}</td>
<td>{{laptop.make}}</td>
<td>{{laptop.model}}</td>
<td>{{laptop.specification}}</td>
<td>{{laptop.warranty}}</td>
<td>{{laptop.condition}}</td>
<td>{{laptop.price}}</td>
</tr>
</tbody>
</div>
</table>
{%endfor%}
</div>
</div>models.py
class Laptop(models.Model):
make = models.CharField(max_length = 100)
model = models.CharField(max_length = 100)
specification = models.CharField(max_length = 100)
warranty = models.CharField(max_length = 100)
condition = models.CharField(max_length = 100)
price = models.CharField(max_length = 100)
added_by = models.ForeignKey(User, default = None, on_delete=models.CASCADE)views.py
def laptop_list(request):
laptops = Laptop.objects.all()
return render(request,'laptops/laptop_list.html',{'laptops':laptops})发布于 2018-03-19 03:38:04
这里有几个错误。
不能将div作为表元素的子级。您应该删除表中重复的table-responsive-sm目录。
此外,该表应该只有一个tbody元素。tbody应该在for循环之外。
所以:
<div class="container">
<div class="table-responsive-sm">
<table class="table">
<tbody>
{% for laptop in laptops %}
<tr>
<td>{{laptop.laptop_id}}</td>
<td>{{laptop.make}}</td>
<td>{{laptop.model}}</td>
<td>{{laptop.specification}}</td>
<td>{{laptop.warranty}}</td>
<td>{{laptop.condition}}</td>
<td>{{laptop.price}}</td>
</tr>
{% endfor %}
</tbody>
</table>
</div>
</div>https://stackoverflow.com/questions/49352043
复制相似问题