Не удалось разобрать некоторые символы: |(total/4)||floatformat:2
<td>
{% with data.marks1|add:data.marks2|add:data.marks3|add:data.marks4 as total %}
{{ (total/4)|floatformat:2 }}
{% endwith %}
Я делаю простое грубое приложение в Django и постоянно получаю эту ошибку.
Все, что я делаю, не устраняет эту ошибку
Ошибка возникает из-за использования символа трубы | в теге with, который шаблонизатор Django не может правильно разобрать в этом контексте. Вот как можно исправить эту проблему:
#create a custom filter template:
In your templatetags directory (if you don’t have one, create it), add a new file, e.g., math_filters.py:
from django import template
register = template.Library()
@register.filter
def div(value, arg):
try:
return float(value) / float(arg)
except (ValueError, ZeroDivisionError):
return None
# Now load the custom filter in your tempalte
{% load math_filters %}
<td>
{% with total=data.marks1|add:data.marks2|add:data.marks3|add:data.marks4 %}
{{ total|div:"4"|floatformat:2 }}
{% endwith %}
</td>