Не по теме, но вы должны ловить HitCount.DoesNotExist
при попытке / исключении, поскольку вы действительно хотите выполнить код только в том случае, если объект HitCount еще не существует.
Если это возможно, вы можете захотеть взглянуть на что-то вроде Redis (или другое хранилище ключей / значений), чтобы выполнить счетчик посещений.
Redis предоставляет метод с именем INCR , который автоматически увеличивает значение на 1. Это супер быстро и отличное решение для счетчика обращений, подобного этому. Все, что вам нужно сделать, это создать ключ, связанный со страницей, и вы можете увеличить его на +1.
Возможно, имеет смысл использовать класс middleware для отслеживания посещений страниц. Гораздо проще, чем добавить его к каждому представлению. Если вам нужно отобразить этот счетчик на каждой странице, вы можете использовать процессор контекста ( больше информации ), чтобы добавить счетчик посещений страницы в контекст. Так будет меньше повторений кода.
Редактировать
Изначально я упустил, что это было для проекта Uni, так что это может сильно превысить разработку для того, что вам нужно. Однако, если бы вы когда-либо создавали счетчик посещений для производственной среды, я бы порекомендовал это. Вы все еще можете использовать промежуточное программное обеспечение / контекстные процессоры для выполнения подсчетов / поиска обращений в СУХОЙ манере.