Не удалось разобрать остаток в шаблоне - PullRequest
0 голосов
/ 19 января 2012

Это мои DjangoTemplates / (mysite) /index.html.Я пытаюсь сделать некоторую математику в моем index.html.Я хочу отобразить сумму всего Stakes.amount_won для каждого имени пользователя в цикле for.Я думаю, что у меня правильный синтаксис для математики, но, похоже, он не работает в шаблоне.

Цикл for должен проходить через каждое имя_пользователя и отображать их имя_пользователя в виде ссылки на сумму выигрыша: (итоговая сумма для этого имени пользователя ниже.

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>

Извините, если это нубиш.Заранее спасибо за помощь!

Ответы [ 2 ]

4 голосов
/ 19 января 2012

Хотя оператор импорта не является частью языка шаблонов, на самом деле это не ваша проблема - он будет отображаться в виде текста.Фактическая проблема заключается в вызове вашей функции: Django не разрешает вызовы с круглыми скобками в шаблонах.Разрешены только функции без параметров.Вам нужно выполнить поиск в представлении и передать его в контексте.

Конечно, все это ясно объяснено в документации.

1 голос
/ 19 января 2012

Быстрый ответ заключается в том, что вы пытаетесь сделать слишком много в шаблоне - например, вы не можете использовать оператор Python import в шаблоне вообще, поэтому я представляю, что это просто рендеринг в виде текста. Как правило, вам нужно выполнить логику запросов в вашем классе представления, а затем передать данные в шаблон для рендеринга.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...