Создание фильтра в Django, пример

В папке /templatetags создайте файл uglify.py и напишите в нём фильтр uglify, который преобразует текст по такому принципу: каждый нечётный символ переводится в нижний регистр, а чётный — в верхний.Пример вызова фильтра:

{{ "Привет мир!!"|uglify }} 

Пример результата:

пРиВеТ МиР!! 

Подсказка:
Вам помогут методы upper() и lower(). Искать чётные и нечётные символы удобно по условию if x % 2 == 0. А перебрать строку по символам можно точно так же, как обычный список.
Фильтр надо зарегистрировать в template.Library()

Код uglify.py:

from django import template
register = template.Library()

@register.filter
def uglify(field):
    i=0
    modified_text = ""
    for letter in field:
        i += 1
        if i % 2 == 0:
            modified_text += letter.upper()
        else:
            modified_text += letter.lower()
       
    return modified_text

Архив проекта:






Добавить комментарий

;-) :| :x :twisted: :smile: :shock: :sad: :roll: :razz: :oops: :o :mrgreen: :lol: :idea: :grin: :evil: :cry: :cool: :arrow: :???: :?: :!: