Одна из вещей, которые я делаю, чтобы сделать взгляды моих приложений более компактными, состоит в том, чтобы довольно агрессивно анализировать мои взгляды. Я ненавижу писать любой код дважды, так что это естественно для меня. Везде, где я могу, я использую общий вид для выполнения необходимых действий. Хороший процент функциональности моих представлений - это декораторы, которые выполняют общие действия над представлениями, которые в этом нуждаются.
Например, у меня есть декоратор post_limit, который проверяет, изменил ли пользователь недавно какой-либо экземпляр в определенной модели (настраиваемое представление по представлению), и выдает ошибку, если она есть, в качестве средства защиты от наводнений.
На самом деле, многие представления работают так схожим образом, что они даже не получают свои собственные тела функций, я просто заключаю общие представления в соответствующие декораторы, и единственными представлениями, которые получают много пользовательского кода, являются сайты типа агрегации, такие как целевая страница, которая собирает много различной информации тонкими способами, чтобы они выглядели «просто правильно»