Шаблон Django, как разобрать элементы с символами
У меня есть XML файл, который я преобразовал в словарь python и передал в шаблон. Я пытаюсь сделать что-то вроде этого:
<audio controls>
<source src={{ episode.enclosure.@url }} type={{ episode.enclosure.@type }}>
Your current browser does not support the audio player.
</audio>
В XML-файле используется @ в начале ключа для URL и TYPE. Проблема в том, что это отбрасывает парсер и приводит к краху сайта. Как я могу вызвать ключ с символом @?
Вы можете получить значение словаря с помощью тегов шаблона django.
Пример тега шаблона
@register.filter
def get_attr(obj, attr):
return obj.get(attr)
Как вы упомянули, контекст является dict, поэтому я использовал obj.get, но вы можете использовать любые другие методы в зависимости от obj.
Использование шаблона
{{ result|get_attr:'@url' }}
Я определил результат в файле views.py как
context = {
'result' : {'@url':'a123'}
}