擅长:python、mysql、java
<p>不用费心把dict转换成元组。调用dict上的<code>items</code>方法,以获得可以通过这种方式迭代的内容:</p>
<pre><code>{% for keys, values in prodmatrix.items %}
<li class="span3">
<div class="product-box">
{{ values.0.0 }} {{ values.0.3 }} {{ values.1.1 }} {{ values.1.2 }}
</div>
</li>
{% endfor %}
</code></pre>
<p>顺便说一下,这样做可能更简单:</p>
<pre><code>class Product(models.Model):
# ...
@property
def tags(self):
return self.review_set.values_list('tag_set__name', flat=True).distinct()
def home(request):
if request.user.is_authenticated():
products = Product.objects.prefetch_related('review_set__tag_set')
return render(request, 'home.html', {
'products': products,
})
</code></pre>
<p>然后你的模板会像这样:</p>
<pre><code>{% for product in products %}
<li class="span3">
<img src="{{ product.image.image.url }}"/>
<div class="product-box">
{{ product.name }} -
{{ product.tags|join:', ' }} -
{{ product.slug }}
</div>
</li>
{% endfor %}
</code></pre>