Python 在Jinja2中执行算术运算
我想找出两个不同值之间的差异。但是,我得到了一个Python 在Jinja2中执行算术运算,python,flask,jinja2,Python,Flask,Jinja2,我想找出两个不同值之间的差异。但是,我得到了一个Jinja2错误。我不知道如何找到这个模板中的差异 我尝试使用-操作符,但没有成功。因此,我使用sub查找实际分数和预测分数之间的差异 {% for e in question.essays %} <div class="panel panel-default"> <div class="panel-heading"> <h3 class="panel-title"&g
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>
根据,使用-
应该可以很好地工作。同样在我这边,它工作得很好。请注意在使用操作员时发布您收到的错误消息。我在Jinja2的文档中也找不到sub
标记
因此,如前所述,我认为这应该是可行的:
{{ e.actual_score - e.predicted_score }}
只是一个旁注,我发现唯一一个做算术运算的模板标记,也就是说,它也不做减法运算 你的
sub
是指
标记吗?不是,我用它来执行减法,但发现jinja没有默认的sub作为过滤器。现在我怎么才能找到差异呢?我只是尝试了{{e.actual_score-(e.predicted_score)}
?类型错误:不支持的操作数类型-:“float”和“NoneType”我在使用{e.actual_score-e.predicted_score}时遇到了这个错误。看起来你正在尝试在一个数字和无之间执行减法。您需要有一个数值才能执行减法
{{ e.actual_score - e.predicted_score }}