![progammist](/media/cache/21/5c/215cfbe98e5a74bfb229cb290bf77d13.webp)
Как создать систему рейтингов
Всем привет. Вопрос такой. У меня есть мини-блог и профили пользователей. На странице профилей пользователей я отображаю информацию:
Количество комментариев этого пользователя;
Количество постов этого пользователя;
Я отображаю количество комментариев в пользовательском профиле шаблона следующим образом:
{{user.comments.count}}
Хотелось бы сделать небольшую рейтинговую систему, например:
Если пользователь оставил 10 комментариев и 10 постов - он кот (слово рядом с username, например).
Если 20 - это собака (слово рядом с username, например).
30 - слон и др.
Для этого я хотел бы иметь отдельную таблицу в базе данных, чтобы потом я мог делать выбор по рейтингу пользователей. Это слово я бы хотел выводить потом везде, где упоминается пользователь (например рядом с ником в комментарии)
Как я могу это реализовать? Буду благодарен за любую помощь
![Рекомендуем хостинг TIMEWEB](/media/technical_storage/timeweb-120-90.jpg)
Рекомендуем хостинг TIMEWEB
Стабильный хостинг, на котором располагается социальная сеть EVILEG. Для проектов на Django рекомендуем VDS хостинг.Вам это нравится? Поделитесь в социальных сетях!
Комментарии
Пожалуйста, авторизуйтесь или зарегистрируйтесь
- Unknown akadamn
- 24 января 2025 г. 17:14
Qt - Тест 001. Сигналы и слоты
- Результат:84баллов,
- Очки рейтинга4
- Unknown akadamn
- 24 января 2025 г. 16:22
Qt - Тест 001. Сигналы и слоты
- Результат:42баллов,
- Очки рейтинга-8
![Evgenii Legotckoi](/media/cache/5a/49/5a499b0c8eb5e79957fec0aea35e5d98.webp)
![Дмитрий](/media/cache/0a/bd/0abde19a58c2f6720c26b7b2c7a1ac5f.webp)
я бы сделал кастомный queryset, в котором делал бы аннотацию count, а потом исходя из этого делал бы выводы
второй вариант - сделать функцию, которая бы делала count комментов, которые оставил этот пользователь, а потом исходя из этого возвращала бы константу его типов
А как это можно привязать например к закаладкам? Закладки делал по статье
Попробовал так:
Но ничего не выводится. Если у вас есть время, не могли бы вы показать - как бы это реализовали вы?
у меня вот так получилось
я бы сделал эту функцию отдельно и сделал бы ранний return - у вас будет перебираться весь словарь titles, хотя нужное значение может быть в самом начале
а уже в представлении вызывал бы функцию
Спасибо, вроде появляется понимание, а в предатвелнии вызывать функцию - это как (в плане синаксиса) ?)
И еще, если я захочу привязать эту логику к количеству комментариев пользователя,то где мне указать comment.count ?
Комментарии вывожу в шаблоне так:
не, вы сейчас про шаблоны
для шаблонов надо делать тэги (я бы использовал inclusion tag) - https://docs.djangoproject.com/en/3.1/howto/custom-template-tags/#inclusion-tags
представления - это то, что
но лучше вообще это не использовать - шаблоны оч медленно работают (если python код загружается в память, то шаблоны при каждом обращении ищутся и обрабатываются с нуля, а работа с файловой системой сильно медленнее, чем работа с оперативой памятью)
я имел в виду:
тоесть, вернуть эту функцию там, где надо