Python 分页不';不接受dict作为数据-不可损坏类型

Python 分页不';不接受dict作为数据-不可损坏类型,python,django,django-views,python-2.x,django-pagination,Python,Django,Django Views,Python 2.x,Django Pagination,我正在尝试使用Django分页。但我收到了这个错误: TypeError at / unhashable type 这基本上是因为我使用字典作为我的对象,而不是查询集。 我想知道是否有办法将我的字典变成可哈希对象 这是我的dict in模板: {% for key, values in prodmatrix.items %}

我正在尝试使用Django分页。但我收到了这个错误:

TypeError at /
unhashable type
这基本上是因为我使用字典作为我的对象,而不是查询集。 我想知道是否有办法将我的字典变成可哈希对象

这是我的dict in模板:

{% for key, values in prodmatrix.items %}                                                                                                     <li class="span3">
<div class="product-box">
<span class="sale_tag"></span>
<p><a href="{% url 'product_detail' slug=values.3.0 %}"><img src="{{ STATIC_URL }}{{values.1.0}}" alt="" /></a></p>
    <a href="{% url 'product_detail' slug=values.3.0 %}" class="title"><h4>{{ values.0.0 }}</h4></a><br/>
    <p class="category"><a href="{% url 'product_detail' slug=values.3.0 %}">{{values.2.}}    {{values.2.1}}   {{values.2.2}}</a></p>
</div>
</li>
{% endfor %}

使用
tuple
代替
dict
,如下所示:

# convert `dict` to `tuple`:
prodmatrix = tuple(prodmatrix)
paginator = Paginator(prodmatrix, 2)
# or this
paginator = Paginator(prodmatrix.items(), 2)

page = request.GET.get('page')
try:
    prodmatrix2 = paginator.page(page)
except PageNotAnInteger:
    prodmatrix2 = paginator.page(1)
except EmptyPage:
    prodmatrix2 = paginator.page(paginator.num_page)
return render(request, 'home.html',{'prodmatrix2':prodmatrix})

在模板中,您需要通过元组索引(key=0,value=1)调用attrs和方法。

谢谢!我只是不知道模板中的代码会如何变化。我用模板中的dict代码更新了我的问题。它将如何改变?
items()
是一种
dict
方法,但不是
tuple
。您已经在
tuple
中有了数据,并且不需要使用
items()
方法{%for key,prodmatrix%}{{values.0.0}{{{values.1.1}{{values.1.2}{%endfor%}谢谢您,但是tuple仍然不起作用。我试图将其解析为values.0.0,但它返回“”作为结果如何检查分页中的has_previous()?非常好…节省了大量时间+1
# convert `dict` to `tuple`:
prodmatrix = tuple(prodmatrix)
paginator = Paginator(prodmatrix, 2)
# or this
paginator = Paginator(prodmatrix.items(), 2)

page = request.GET.get('page')
try:
    prodmatrix2 = paginator.page(page)
except PageNotAnInteger:
    prodmatrix2 = paginator.page(1)
except EmptyPage:
    prodmatrix2 = paginator.page(paginator.num_page)
return render(request, 'home.html',{'prodmatrix2':prodmatrix})