Нельзя использовать скобки в теге шаблона {% if %}
.Вы можете использовать следующую проверку, которая эквивалентна:
{% if user.is_authenticated and request.user.is_superuser or user.is_authenticated and request.user == task.user %}
Затем вы можете отбросить первую проверку user.is_authenticated
, потому что только аутентифицированный пользователь будет суперпользователем.
{% if user.is_authenticated and request.user.is_superuser or user.is_authenticated and request.user == task.user %}
Выможет также быть в состоянии отбросить вторую user.is_authenticated
проверку, если у всех задач есть пользователь (поскольку анонимный пользователь никогда не равен реальному пользователю).
{% if request.user.is_superuser or request.user == task.user %}
Django не рекомендует помещать сложную логику в шаблон.В этом случае вы можете поместить логику в фильтр, и тогда ваш шаблон упростится до:
{% if task|display_button:request.user %}...{% endif %}