我有一个嵌套的dict,我要将它作为上下文传递给具有以下结构的模板:
cWeeks{
1: {
'receivables': { 'customer': 'x', 'amount': 'y', ...}
'payables': { 'customer': 'x', 'amount': 'y', ...}
}
2: {
etc
}
}
在我的模板中,我有一个for循环迭代每个数字,然后有一个嵌套的for循环迭代“receivables”中的所有项目。 不幸的是,第二个循环永远不会开始。
这是模板中的相关代码:
{% for cw in cWeeks %}
<div class="kw1">
<div class="card">
<h5 class="card-header text-center">KW {{ cw }}</h5>
<ul class="list-group list-group-flush">
{% for receivable in cw.receivables %}
<li class="list-group-item zahlung payment-receivable">
<div class="payment-content">
<div class="typ">Zahlung</div>
<div class="kunde">{{ receivable.customer }}</div>
<div class="kwSelektor">
<form action="#" method="POST">
<div class="form-group formKwSelektor">
<select class="form-control form-control-sm" id="kwxxSelektor">
<option value="10">KW 10</option>
<option value="11">KW 11</option>
</select>
</div>
<button type="submit" class="btn btn-primary">KW ändern</button>
</form>
</div>
<div class="betrag">{{ receivable.amount }}</div>
<div class="bank">{{ receivable.account }}</div>
</div>
</li>
{% endfor %}
</ul>
</div>
</div>
{% endfor %}
我的视图。py:
from django.shortcuts import render
from django.http import HttpResponse
from .models import *
def home(request):
""" Calendar Weeks payments overview """
cWeeks = {1: dict(), 2: dict(), 3: dict(), 4: dict()}
for week in range(1, 5):
cWeeks[week]['receivables'] = Receivable.objects.all()
cWeeks[week]['payables'] = Payable.objects.all()
return render(request, 'cwView.html', {'cWeeks': cWeeks})
非常感谢您的任何建议!
这里也提出了同样的问题:如何在django模板中迭代嵌套字典
如果你检查这个,你很可能会得到你的问题的答案。