遍历Django模板中的字典键

时间:2019-07-15 20:32:30

标签: django python-3.x django-templates

我有一个指令,即即时消息将从我的视图传递到我的模板,但是我无法获得该指令以正确显示数据(如果有的话)。字典如下:

context_dct = {

    'product0': {
        'totalentries': '6', 
        'type': 'hammers', 
        'brandname': 'DEWALT', 
        'price': '$25.84'}, 

    'product1': {
        'totalentries': '5', 
        'type': 'hammers', 
        'brandname': 'DEWALT', 
        'price': '$25.84'}, 

    'product2': {
        'totalentries': '8', 
        'type': 'hammers', 
        'brandname': 'DEWALT', 
        'price': '$25.84'}
}

使用django 2.2和python3,我将dict通过render()传递给模板,并尝试像这样访问它:

<h1>Results:</h1>
{% for key, value in context_dct.items %}
    <h1>{{ key }}</h1>
    <h1>{{ value }}</h1>
    </br>
{% endfor %}

,但唯一显示的是h1标签中的“结果”。我还尝试了其他几种访问字典的方法,类似于普通的python字典访问,均无济于事。当我不使用嵌套字典时,我可以使其正常工作,但是以这种方式使用它,我无法使其正常工作。我这里缺少什么吗?

1 个答案:

答案 0 :(得分:1)

您需要将字典封装到另一个字典中,并为其命名,例如:

def some_view(request):
    # ...
    return render(request, 'some_template.html', { 'context_dct': context_dct })

否则,您定义了变量product0product1等。