Пользовательский шаблонный тег - единственный способ получить доступ к клавишам со значком специальных символов. Хорошим примером является ответ на вопрос this question.
Для ленивых:
from django import template
register = template.Library()
@register.filter
def dictKeyLookup(the_dict, key):
# Try to fetch from the dict, and if it's not found return an empty string.
return the_dict.get(key, '')
Что вы будете использовать так:
{% dictKeyLookup your_dict "@blarg!#$^&*" %}
Как домашнее задание, вы также можете преобразовать это в простой фильтр, который даст вам синтаксис, как:
{{ your_dict|getkey:"@[email protected]#$%" }}
Спасибо. Я ожидал, что честно, но я так новичок в django. Я не был уверен, что это был просто синтаксис, который я пропустил. Я пошел вперед и реализован как фильтр, выглядит довольно аккуратно. О, и не должно быть '{{dict | getkey:" name "}}' для фильтра? И не '{% ...%}'. –
Ах, да, конечно. Спасибо за редактирование DrTyrsa! –