Coverage for posts/templatetags/posts_tags.py: 100.00%
19 statements
« prev ^ index » next coverage.py v7.8.0, created at 2025-05-02 19:56 -0700
« prev ^ index » next coverage.py v7.8.0, created at 2025-05-02 19:56 -0700
1import markdown 1a
2from django import template 1a
3from django.db.models import Count 1a
4from django.utils.safestring import mark_safe 1a
6from ..models import Post 1a
8register = template.Library() 1a
11@register.simple_tag 1a
12def total_posts(): 1a
13 return Post.published.count() 1cadefbg
16@register.inclusion_tag("posts/latest_posts.html") 1a
17def show_latest_posts(count=5): 1a
18 latest_posts = Post.published.order_by("-publish")[:count] 1cadefbg
19 return {"latest_posts": latest_posts} 1cadefbg
22@register.simple_tag 1a
23def get_most_commented_posts(count=5): 1a
24 return Post.published.annotate(total_comments=Count("comments")).order_by( 1cadefbg
25 "-total_comments"
26 )[:count]
29@register.filter(name="markdown") 1a
30def markdown_format(text): 1a
31 return mark_safe(markdown.markdown(text)) # noqa: S308 1b