在Django模板中渲染字典

时间:2020-04-26 20:02:16

标签: django django-models django-views django-templates

我在Django视图中构建了groupby子句,然后打算显示在模板中创建的字典。这里的问题是模板而不是显示值,而是重复显示标题字段(附加了屏幕截图,因此更有意义)。任何帮助将不胜感激!

这是视图

def did_count_region_groupby(request):
    region_carrier_groupby = DID_Definition_Model.objects.all().values('region_carrier').annotate(DID_Count=Count('region_carrier')).order_by('DID_Count')
    region_carrier_groupby_dict = {'region_carrier_groupby' : region_carrier_groupby}

    return render(request, 'MASTERHANDLER/did_count_region_groupby.html', region_carrier_groupby_dict)

这是模板

{% for key, value in region_carrier_groupby %}
        <tr>

            <td> {{key}}</td> <td>{{value}}</td>



        </tr>
        {% endfor %}

enter image description here

2 个答案:

答案 0 :(得分:1)

查询集上的

values()将返回字典列表。因此,您必须将其迭代为:

{% for listing region_carrier_groupby %}
    {% for key, value in listing.items %}
            <tr>

                <td> {{key}}</td> <td>{{value}}</td>



            </tr>
    {% endfor %}
{% endfor %}

答案 1 :(得分:0)

您忘记添加.items region_carrier_groupby.items

{% for key, value in region_carrier_groupby.items %}
            <tr>

                <td> {{key}}</td> <td>{{value}}</td>



            </tr>
{% endfor %}

Django documentation built-ins for

相关问题