Доступ к элементу dict, ключ которого начинается с @ - PullRequest
3 голосов
/ 27 декабря 2011

Мне передали dict в мой шаблон, некоторые имена / ключи элементов начинаются с символа @, т.е. {'@id': 123, '@name': 'Alex'}

Есть ли хороший / чистый способ доступа к этим элементам?

1 Ответ

3 голосов
/ 27 декабря 2011

Пользовательский тег шаблона является единственным способом доступа к словарным ключам со специальными символами. Ответ на этот вопрос дает хороший пример.

Для ленивых:

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:"@blarg!@#$%" }}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...