¿Por qué no puedo hacer un guión en la vista de plantilla de Django?

{{profile.first-name.value}} 

Mi variable es solo hypeh … Me gustaría poder hacer first_name , pero muchas variables son guiones. Sin embargo, debido a este problema, no puedo mostrar mis variables en la plantilla. ¿Por qué?

El guión es un operador en Python. Funcionaría mejor si intercambiara todos los guiones por guiones bajos.

Los tipos de diccionarios OrderedDict admiten guiones: https://docs.python.org/2/library/collections.html#ordereddict-objects

Esto parece ser un efecto secundario de la implementación de OrderedDict. Observe a continuación que los pares de valores clave se pasan realmente como conjuntos. Apostaría a que la implementación de OrderedDict no usa la “clave” que se pasa en el conjunto como una verdadera clave de dictado para solucionar este problema.

Dado que esto es un efecto secundario de la implementación de OrderedDict, es posible que no sea algo en lo que desee confiar. Pero funciona.

 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'] ) 

Resultado:

 has-dash: has dash value no dash: no dash value