ключи dict с пробелами в шаблонах Django

Я пытаюсь представить словарь от своего view.py в шаблоне HTML, таком как:

test = { 'works': True, 'this fails':False }

и в шаблоне:

Это работает без проблемы:

{{ test.works }}

Но ключ словаря, который имеет вакуум между словами, такими как 'это, перестал работать', не работает:

{{ test.this fails }}

Я получаю эту ошибку:

Не мог проанализировать остаток: ' fails' от 'this fails'

Как я могу преодолеть эту проблему? Я не тот, заполняющий модели, таким образом, я не могу изменить ключи dict для удаления пробелов.

12
задан Wooble 19 June 2012 в 11:02
поделиться

3 ответа

. Вам нужен фильтр, похожий на

@register.filter(name='getkey')
def getkey(value, arg):
    return value[arg]

И используется с источником

{{test|getkey:'this works'}}

: http://www.bhphp.com/blog4.php/2009/08/17/django-templates-and- dictionaries

16
ответ дан 2 December 2019 в 21:03
поделиться

Мне это не кажется правильным. Можете ли вы сделать следующее?

{{ test['works'] }} 
{{ test['this fails'] }}

Вот как обычно работает доступ к словарю в python.

-4
ответ дан 2 December 2019 в 21:03
поделиться

Я не знаю ни одного стандартного решения в Django. Я думаю, что это возможно с помощью шаблонного фильтра.

Эта статья может вас заинтересовать http://push.cx/2007/django-template-tag-for-dictionary-access (автор использует термин тега шаблона, но на самом деле это шаблонный фильтр)

Надеюсь, это поможет

2
ответ дан 2 December 2019 в 21:03
поделиться
Другие вопросы по тегам:

Похожие вопросы: