def public_stats(request: HttpRequest) -> HttpResponse:
"""Display public galleries and archives stats."""
if not crawler_settings.urls.enable_public_stats:
if not request.user.is_staff:
raise Http404("Page not found")
else:
return render_error(request, "Page disabled by settings (urls: enable_public_stats).")
stats_dict = {
"n_archives": Archive.objects.filter(public=True).count(),
"archive": Archive.objects.filter(public=True).filter(filesize__gt=0).aggregate(
Avg('filesize'), Max('filesize'), Min('filesize'), Sum('filesize')),
"n_tags": Tag.objects.filter(gallery_tags__public=True).distinct().count(),
"top_10_tags": Tag.objects.filter(gallery_tags__public=True).distinct().annotate(
num_archive=Count('gallery_tags')).order_by('-num_archive')[:10]
}
d = {'stats': stats_dict}
return render(request, "viewer/public_stats.html", d)
评论列表
文章目录