【发布时间】:2021-02-10 04:36:41
【问题描述】:
我有一个数学运算需要 Django 模板中的括号。但是,如果我把它们放在附件中,我会收到错误消息。当我删除它们时,程序正在运行,但结果不正确。 以下是我在模板中的代码:
{% if salaireImposable < 150000 %}
<td> {{ salaireImposable|multiply:0.00|floatformat:0 }} </td>
{% elif salaireImposable >= 150000 and salaireImposable <= 500000 %}
<td> {{ 150000|add:"-0"|multiply:0.00|add:salaireImposable|add:"-150000"|multiply:0.05|floatformat }}</td>
{% elif salaireImposable >= 500000 and salaireImposable <= 1000000 %}
<td>{{ 500000|add:"-150000"|multiply:0.05|add:salaireImposable|add:"-500000"|multiply:0.1|floatformat }}</td>
{% elif salaireImposable >= 1000000 and salaireImposable <= 1500000 %}
<td>{{ 500000|add:"-150000"|multiply:0.05|add:(1000000|add:"-500000")|multiply:0.1|add:(salaireImposable|add:"-1000000")|multiply:0.15|floatformat}}</td>
{% elif salaireImposable >= 1500000 and salaireImposable <= 2500000 %}
<td>{{500000|add:"-150000"|multiply:0.05|add:1000000|add:"-500000"|multiply:0.1|add:1500000|add:"-1000000"|multiply:0.15|add:salaireImposable|add:"-1500000"|multiply:0.2|floatformat:0 }}</td>
{% elif salaireImposable >= 2500000 and salaireImposable <= 3500000 %}
<td> {{500000|add:"-150000"|multiply:0.05|add:1000000|add:"-500000"|multiply:0.1|add:1500000|add:"-1000000"|multiply:0.15|add:2500000|add:"-1500000"|multiply:0.2|add:salaireImposable|add:"-2500000"|multiply:0.25|floatformat:0 }}</td>
{% else %}
<td>{{ 500000|add:"-150000"|multiply:0.05|add:1000000|add:"-500000"|multiply:0.1|add:1500000|add:"-1000000"|multiply:0.15|add:2500000|add:"-1500000"|multiply:0.2|add:3500000|add:"-2500000"|multiply:0.25|add:salaireImposable|add:"-3500000"|multiply:0.30|floatformat:0 }}
</td>
{% endif %}
这是我在视图中的做法,结果还可以:
if float(salaireBrut) < 150000:
salaireImposable = float(salaireBrut)*0.00
elif 150000 <= float(salaireBrut) <= 500000:
salaireImposable=(150000-0)*0.00+(float(salaireBrut)-150000)*0.05
elif 500000 <= float(salaireBrut) <= 1000000:
salaireImposable = (500000-150000)*0.05+(float(salaireBrut)-500000)*0.1
elif 1000000 <= float(salaireBrut) <=1500000:
salaireImposable = (500000-150000)*0.05+(1000000-500000)*0.1+(float(salaireBrut)-1000000)*0.15
elif 1500000 <=float(salaireBrut)<= 2500000:
salaireImposable = (500000-150000)*0.05+(1000000-500000)*0.1+(1500000-1000000)*0.15+\
(float(salaireBrut)-1500000)*0.2
elif 2500000 <= float(salaireBrut) <= 3500000:
salaireImposable = (500000-150000)*0.05+(1000000-500000)*0.1+(1500000-1000000)*0.15+\
(2500000-1500000)*0.2+(float(salaireBrut)-2500000)*0.25
else:
salaireImposable =(500000-150000)*0.05+(1000000-500000)*0.1+(1500000-1000000)*0.15+(2500000-1500000)*0.2+(3500000-2500000)*0.25+(float(salaireBrut)-3500000)*0.3
我想知道如何制作这样的括号:{{(500000|add:"-150000")|multiply:0.05|add:(salaireImposable|add:"-500000")|multiply:0.1}}以便结果正确。
请帮帮我
【问题讨论】:
标签: python-3.x django-templates