Почему я не могу сделать дефис в представлении шаблона Django? - PullRequest
4 голосов
/ 06 февраля 2010
{{profile.first-name.value}}

Моя переменная - только Hypeh ... Я хотел бы сделать first_name , но многие переменные являются дефисами. Однако из-за этой проблемы я не могу отобразить свои переменные в шаблоне. Почему?

Ответы [ 2 ]

9 голосов
/ 06 февраля 2010

Дефис является оператором в Python. Было бы лучше, если бы вы заменили все дефисы подчеркиванием.

0 голосов
/ 05 ноября 2017

Типы словаря OrderedDict поддерживают дефисы: https://docs.python.org/2/library/collections.html#ordereddict-objects

Похоже, это побочный эффект от реализации OrderedDict. Обратите внимание, что пары ключ-значение фактически передаются как наборы. Могу поспорить, что реализация OrderedDict не использует «ключ», переданный в наборе, в качестве истинного ключа, таким образом обходя эту проблему

Поскольку это побочный эффект от реализации OrderedDict, возможно, вы не хотите на это полагаться. Но это работает.

from collections import OrderedDict

my_dict = OrderedDict([
    ('has-dash', 'has dash value'), 
    ('no dash', 'no dash value') 
])

print( 'has-dash: ' + my_dict['has-dash'] )
print( 'no dash: ' + my_dict['no dash'] )

Результат:

has-dash: has dash value
no dash: no dash value
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...