Source Code

/ src / blog / templatetags / blog_extra.py

import calendar
from django import template
import os

register = template.Library()


@register.filter
def month_name(value):
    return calendar.month_name[int(value)]

@register.filter
def dict_get(d, key):
    return d.get(key, None)

@register.filter
def reversed_list(value):
    """
    Custom filter to reverse a list (Django lacks built-in |reversed).
    Usage: {{ posts|reversed_list }}
    """
    if isinstance(value, list):
        return value[::-1]
    return value

@register.filter
def to_thumb_path(value):
    if not value:
        return value

    filename = os.path.basename(value)
    return f"/static/thumb/{filename}"