最好将HTML代码保存在模板中,而不是从Python生成。您可以从Jinja模板访问嵌套的数据结构,例如元组或dict。以下是使用字典可以实现这一点的方法(元组可能在内存上更容易,但dict更具可读性):
{% block content %}
<table class="table">
<thead class="thead-inverse">
<tr>
<th>#</th>
<th>Name</th>
<th>Price</th>
<th>Quantity</th>
</tr>
</thead>
{% for item in card_data %}
<tbody>
<tr>
<th scope='row'>1</th>
<td>{{item.name}}</td>
<td>{{item.price}}</td>
<td>{{item.quantity}}</td>
</tr>
</tbody>
{% endfor %}
</table>
{% endblock %}
您可以将数据放入dicts中,并以相同的方式传递:
data = [
{'name': 'Card 1 Name', 'price': 'Card 1 Price', 'quantity': 'Card 1 Quantity'},
{'name': 'Card 2 Name', 'price': 'Card 2 Price', 'quantity': 'Card 2 Quantity'},
{'name': 'Card 3 Name', 'price': 'Card 3 Price', 'quantity': 'Card 3 Quantity'},
]
render(request, 'buylist/basic.html', {'card_data': data})