Чтобы вывести количество пользователей, которые просмотрели определенную публикацию на фреймворке Django, необходимо выполнить следующие шаги.
1. Определите модель для публикаций и модель для пользователей. Например:
from django.db import models from django.contrib.auth.models import User class Publication(models.Model): title = models.CharField(max_length=100) content = models.TextField() viewed_by = models.ManyToManyField(User, related_name='viewed_publications')
2. Создайте представление (view), которое будет обрабатывать запрос и возвращать количество пользователей, просмотревших публикацию. Например:
from django.shortcuts import get_object_or_404 from django.http import JsonResponse def get_viewed_users(request, publication_id): publication = get_object_or_404(Publication, id=publication_id) viewed_users_count = publication.viewed_by.count() return JsonResponse({'viewed_users_count': viewed_users_count})
3. Зарегистрируйте URL-шаблон для этого представления. Например, добавьте следующую строку в файле urls.py
вашего приложения:
from django.urls import path from . import views urlpatterns = [ ... path('publications/<int:publication_id>/viewed-users/', views.get_viewed_users, name='get_viewed_users'), ... ]
4. Теперь вы можете отправить GET-запрос на URL publications/<publication_id>/viewed-users/
, где publication_id
- это идентификатор публикации, чтобы получить количество пользователей, просмотревших эту публикацию.
Обратите внимание, что в приведенном примере предполагается, что у вас уже настроены модели пользователей и аутентификация в Django, также как и настройка маршрутов (URL-шаблонов) и представлений для вашего приложения. Если у вас еще нет такой конфигурации, вам может потребоваться создать модели пользователей и настроить аутентификацию перед тем, как вы сможете использовать приведенный выше пример.