Столкнулся с интересной ситуацией. Написал свой template filter, вот его код
@register.filter
def show_people(obj):
people = [person.name for person in obj.people.all()]
ret = ', '.join(people)
if ret:
ret = 'Люди: ' + ret + '<br/>'
return mark_safe(ret)
Когда вызываю его в шаблоне - ничего не появляется, вообще ничего.
Если строчку “Люди” маркировать с помощью буквы u“Люди”, то фильтр работает нужным образом.
Если эту строчку переписать с помощью unicode('Люди'), то фильтр опять не работает.
Это все с учетом, что в начале файла стоит # coding: UTF-8.
Вопрос следующий, как соотносится между собой маркер u и функция unicode() ? И почему в одном случае фильтр работает, а в другом нет?