Django - 使用模板

时间:2018-04-16 16:38:36

标签: python django templates dictionary

我正在尽力不在我的代码中重复自己,但我遇到了一个问题,在我的模板中按键循环字典。

我有两个词:

exampledict={'firstkey':firstval, 'secondkey':secondval}

keys=['firstkey', 'secondkey']
keydict={'keys':keys}

在我的模板中,我想使用keydict遍历exampledict:

<tr>
{% for val in keydict %}
<td>{{ exampledict.val }}</td>
{% endfor %}
</tr>

我注意到这种变量组合根本不起作用,我尝试使用:

{'firstkey':'firstkey'}

然后将其发送到模板并稍后尝试

{{ exampledict.firstkey }}

有没有更好的方法来完成我在这里要做的事情?

修改1:

手动浏览每个密钥:

<td> {{ exampledict.firstkey }} </td> <td> {{ exampledict.secondkey }} </td>

其中firstkey和secondkey是exampledict的实际dictkey,虽然它会重复很多次。

编辑2:

views.py

def tabletest(request):
    exampledict={'firstkey':'firstval', 'secondkey': 'secondval'}
    keydict={
        'keys':['firstkey', 'secondkey']
    }
    return render(request, 'MinaFakturor/tabletest.html', {'exampledict':exampledict, 'keydict':keydict})

模板

<table>
        <thead>
            <tr>
                {% for val in keydict.keys %}
                <th>{{ val }}</th>
                {% endfor %}
            </tr>
        </thead>
        <tbody>
            <tr>
                {% for val in keydict.keys %}
                <td>{{ exampledict.val }}</td>
                {% endfor %}
            </tr>
            <tr>
                <td>{{ exampledict.firstkey }}</td>
            </tr>
        </tbody>
</table>

产生这个结果:

image

如果删除exampledict.firstkey术语,则表格中不会生成任何内容。

0 个答案:

没有答案