Выполнить арифметическую операцию в Jinja2 - PullRequest
0 голосов
/ 11 июня 2019

Я хочу найти разницу между двумя разными значениями. Но я получаю ошибку Jinja2. Я не уверен, как найти разницу в этом шаблоне.

Я пытался использовать оператор -, но это не сработало. Итак, я использовал sub, чтобы найти разницу между фактическим и прогнозируемым баллом.

 {% for e in question.essays %}
    <div class="panel panel-default">
        <div class="panel-heading">
            <h3 class="panel-title">{{loop.index}}</h3>
        </div>
        <div class="panel-body">
            <div class="actual-score">Actual score: {% if e.actual_score %} {{e.actual_score|round(1)}}/5{% endif %}</div>
            <div class="predicted-score">Predicted score: {% if e.predicted_score %}{{e.predicted_score|round(1)}}/5{% endif %}</div>
            <p class="essay-text">Text: {{e.text}}</p>
        <div class="diff">Difference: {{ e.actual_score|sub(e.predicted_score)}} </div>

        </div>

Я получаю эту ошибку:

TemplateAssertionError: no filter named 'sub'

1 Ответ

0 голосов
/ 11 июня 2019

Согласно документации Jinja2 , использование - должно работать довольно хорошо.Кроме того, с моей стороны, это работает просто отлично.Не забудьте опубликовать сообщение об ошибке, которое вы получите при использовании оператора.Я также не могу найти тег sub в документации по Jinja2.

Поэтому, как сказал Удивительные вещи вокруг вас , я думаю, это должно работать:

{{ e.actual_score - e.predicted_score }} 

Просто примечание, единственный другой тег шаблона, который я нашелкоторый выполняет арифметические операции, близкие к этому, является тегом добавления Django , который также не выполняет вычитание.

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