python - 如何计算 Django 内置模板上 if 的结果数

标签 python django django-template-filters

我有以下情况:

{% for subject in subjects %}
    {% if subject.media < 60 %}
        {{ subjects|length }}
    {% endif %}
{% endfor %}

结果是“161616”,因为我的数据库中有 16 个主题,但我想显示媒体下方的主题数量,例如“3”。

最佳答案

您不能在模板中执行类似的逻辑。在 View 中进行查询

def my_view(request):
    num_under_60 = Subject.objects.filter(media__lt=60).count()
    return render(request, 'my_template.html', {'num_under_60': num_under_60})   

然后在模板中使用{{ num_under_60 }}

关于python - 如何计算 Django 内置模板上 if 的结果数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47422758/

相关文章:

python - 特定类型的所有变量的django模板过滤器

python - 在 Matplotlib 中使用 SVG 作为刻度标签

python - Linux命令输出到字典-python

python - 根据 channel 将输入图像张量切片或分割为变量

python - sqlalchemy 按计数列过滤

Django 3错误: No installed apps with label 'app_name'

python - 数据库默认值的Django实现

django - 如何将 ModelForm 与 neo4django 一起使用?

django:使用没有 unicode 'u' 类型指示符的安全过滤器呈现变量

django - Django 中 View 和模板之间的职责划分