Django, Python, Redis сортировка - PullRequest
0 голосов
/ 26 ноября 2018

Я использовал redis, чтобы отсортировать наиболее просматриваемые элементы в проекте, над которым я работаю.Я хотел бы отсортировать только наиболее просматриваемые за день и общие наиболее просматриваемые.Другими словами, счетчик просмотров должен перезапускаться каждый день.Вот мой код

@login_required
def image_ranking(request):
    image_ranking = r.zrange('image_ranking', 0, -1, desc=True[:110000]
    image_ranking_ids = [int(id) for id in image_ranking]
    most_viewed = list(Image.objects.filter(id__in=image_ranking_ids))
    most_viewed.sort(key=lambda x: image_ranking_ids.index(x.id))
    paginator = Paginator(most_viewed, 24)
    page = request.GET.get('page')
    try:
        most_viewed = paginator.page(page)
    except PageNotAnInteger:
        most_viewed = paginator.page(1)
    except EmptyPage:
        if request.is_ajax():
            return HttpResponse('')
        most_viewed = paginator.page(paginator.num_pages)
    if request.is_ajax():
        return render(request, 'images/image/ranking_ajax', {'section': 'images', 'most_viewed': most_viewed})
    return render(request, 'images/image/ranking.html', {'section': 'images', 'most_viewed': most_viewed})
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...