我无法使用通过我的视图传递的上下文显示一些div。在我的views.py中,我传递了一个值“ total_used”和“ total”。
views.py:
def home(request):
context = {
"reward": [
{
"total": 5,
"total_used": 2
}
]
}
return render(request, "web/index.html", context)
模板:
{% with ''|center:reward.total_used as range %}
{% for _ in range %}
<div class="red"></div>
{% endfor %}
{% endwith %}
<div class="blue"></div>
<div id="reward-count">
<h5>{{ reward.total_used }}/{{ reward.total }}</h5>
</div>
因此,例如,我想要2个div类别为红色,而3个div(reward.total- reward.total_used)则为蓝色类别。
我已经尝试过了,但是没有用:
{% with ''|center:reward.total_used as range %}
{% for _ in range %}
<div class="red"></div>
{% endfor %}
{% endwith %}
{% with ''|center:reward.total-reward.total_used as range %}
{% for _ in range %}
<div class="blue"></div>
{% endfor %}
{% endwith %}
<div id="reward-count">
<h5>{{ reward.total_used }}/{{ reward.total }}</h5>
</div>
答案 0 :(得分:0)
从[]
定义中删除方括号context
。您的views.py
应该如下所示:
def home(request):
context = {
"reward": {"total": 5, "total_used": 2}
}
return render(request, "web/index.html", context)
答案 1 :(得分:0)
我最终在视图中计算了total-total_used,然后将其添加到上下文中:
views.py:
def home(request):
context = {
"rewards": [
{
"total": 5,
"total_used": 2
},
{
"total": 7,
"total_used": 1
}
]
}
for reward in context['rewards']:
reward['total_not_used'] = reward['total'] - reward['total_used']
return render(request, "web/index.html", context)
模板:
{% with ''|center:reward.total_used as range %}
{% for _ in range %}
<div class="reward reward-shaded"></div>
{% endfor %}
{% endwith %}
{% with ''|center:reward.total_not_used as range %}
{% for _ in range %}
<div class="reward"></div>
{% endfor %}
{% endwith %}
<div id="reward-count">
<h5>{{ reward.total_used }}/{{ reward.total }}</h5>
</div>