Humanize lists of strings in templates

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
@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])

More like this

  1. E-mail quoting filters and tags by ChipX86 5 years, 11 months ago
  2. Never cache a group of URLs by ChipX86 5 years, 9 months ago
  3. Flatpage Suggester Template tag for 404 templates by bradmontgomery 3 years, 3 months ago
  4. RelatedMixin for Details and Updates with Related Object Lists by christhekeele 1 year ago
  5. Filter to generate QR codes by javinievas 2 years, 9 months ago

Comments

(Forgotten your password?)