@register.filter def humanize_list(value): if len(value) == 0: return "" elif len(value) == 1: return value[0] s = ", ".join(value[:-1]) if len(value) > 3: s += "," return "%s and %s" % (s, value[-1])