我是 Django 的新手,我被困在一个模板标签上,我不知道如何开始工作。我知道在我看来我遗漏了一些东西,但我已经用几种不同的方式编写了它,似乎找不到正确的方法来做到这一点。我的应用程序中有一个莫里斯图表,我正在尝试向其提供信息。我想显示可用运算符的百分比。在我的模型中,我有一个布尔值,表示运算符 is_available。当我将它传回模板时,我希望模板标签运行百分比并将值传回莫里斯饼图。
这是我的看法:
@login_required(login_url='login/')
def operator(request):
operators = Operator.objects.all()
operator_status = Operator.objects.values_list('is_available', flat=True)
context = {
'operators': operators,
'operators_available': operator_status,
}
return render(request, 'content/operator.html', context)
这是正在使用的模板标签:
<div class="widget-detail-1">
<h2 class="p-t-10 m-b-0"> {{ operators_available | percentage_of:True }} </h2>
</div>
</div>
最后是我的模板标签:
@register.filter(name='percentage_of')
def percentage_of(part, whole):
try:
return "%d"[2:] % (float(part) / whole * 100)
except (ValueError, ZeroDivisionError):
return "Division by Zero"