【问题标题】:Django - How to use a template tag in an if statementDjango - 如何在 if 语句中使用模板标签
【发布时间】:2018-01-13 00:37:14
【问题描述】:

我认为这个想法会更受欢迎,但我猜这是一个我无法弄清楚的简单解决方案。我想做的是在 Django 模板页面中,让 IF 语句等于另一个标签值。

例如

views.py

def seasonstandings(request):
    divisions = Team.objects.order_by().values_list('division__name',flat=True).distinct()
    stats = WeeklyStats.objects.values('player__team__team_name').annotate(
        team=F('player__team__team_name'),
        points = Sum('finishes'),
        division = F('player__team__division__name')
    ).order_by('-points')

    return render(request, 'website/seasonstandings.html', {'divisions':divisions,'stats':stats})

seasonstandings.html

{% for division in divisions %}
{{ division }} <br>
  {% for stat in stats %}
    {% if stat.division = {{ division }} %}
    {{ stat.team }}<br>
    {% endif %}
  {% endfor %}
{% endfor %}

因此,如果您注意到 IF 语句正在尝试使用第一个 for 循环中 Division 标记的结果。

我在这里的主要目标是获得一个团队可能所在的部门的动态列表,然后当他们被分配到他们的部门时,他们会根据这些 for 循环在适当的部门下列出。

最终结果看起来像

A组

一队

第 2 队

第 4 队

乙组

第 3 队

第 5 队

C组

第 6 队

第 7 队

一如既往地感谢任何帮助。

【问题讨论】:

    标签: python django if-statement django-templates


    【解决方案1】:

    只需将大括号放在除法周围即可。含义 {{ division }} -> division。你可以使用==

    ifequal 标签已被弃用。

    【讨论】:

    • 就像我想象的那样简单。不敢相信我没有尝试过。非常感谢!
    猜你喜欢
    • 1970-01-01
    • 2011-11-28
    • 2013-08-02
    • 1970-01-01
    • 2017-03-25
    • 2013-10-17
    • 2021-11-01
    • 2023-01-22
    • 2011-11-06
    相关资源
    最近更新 更多