无法解析模板中的余数

时间:2012-01-19 01:29:22

标签: python mysql django

这是我的DjangoTemplates /(mysite)/index.html。我正在尝试在index.html中做一些数学运算。我想在for循环中显示每个user_name的整个Stakes.amount_won的总和。我认为我的数学语法正确,但它似乎不适用于模板。

for循环应该遍历每个user_name,并将其user_name显示为链接,其中包含赢额金额:(该user_name的amount_won总数)。

from django.db.models import Sum

<h1> Players </h1>

{% if latest_player_list %}
    <ul>
    {% for player in latest_player_list %}
        <li><a href="/stakeme/{{ player.id }}/">{{ player.user_name }} </a><br>Total Won: {{Stakes.objects.filter(player__user_name).aggregate(Sum('amount_won'))}}
</li>
    {% endfor %}
    </ul>
    <br>
{% else %}
    <p>No players are available.</p>
{% endif %}

<h3><a href="/stakeme/new/">New Player</a></h3>

对不起,如果这是noobish。提前感谢您的帮助!

2 个答案:

答案 0 :(得分:4)

虽然import语句不是模板语言的一部分,但实际上这不是你的问题 - 它只会显示为文本。实际问题是你的函数调用:Django不允许在模板中使用带括号的调用。只允许没有参数的函数。您需要在视图中执行查找并在上下文中传递它。

当然,这只是文档中的clearly explained

答案 1 :(得分:1)

这里的快速回答是你试图在模板中做太多 - 例如,你根本不能在模板中使用Python import语句,所以我想这只是渲染为文本。您通常希望在视图类中执行查询逻辑,然后将数据传递给模板进行渲染。