В папке /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
Архив проекта: