Шаблон 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'}
}
Вернуться на верх