Если вы должны сделать это в одной строке, вам должно работать следующее:
content += '<a href="/%s/">%s</a> %s %s' % tuple(itertools.chain((item.slug,),
str(item.title).ljust(25).split(" ", 1), (item.date.ljust(10),)))
Однако следующее должно быть немного проще для чтения
values = [item.slug]
values += str(item.title).ljust(25).split(" ", 1)
values.append(item.date.ljust(10))
content += '<a href="/%s/">%s</a> %s %s' % values
Обратите внимание, что я добавил один дополнительный пробел к вашей строке форматирования, чтобы восполнить тот, который потерян в операции разбиения строки.
РЕДАКТИРОВАТЬ: вышеуказанный код завершается ошибкой, если item.title
больше 25 символов. Пересмотренная версия приведена ниже.
title, spaces = (str(item.title).ljust(25)+" ").split(" ", 1)
content += '<a href="/%s/">%s</a>%s %s' % (item.slug, title,
spaces, item.date.ljust(10))
Эта версия добавляет пробел в конец оправданного заголовка, поэтому операция разбиения гарантированно возвращает кортеж длины 2.