Why can't you change the dictionary? Can't you just create a copy of
the dict and rename the keys in your copy using _ rather than -  like
so:

>>> bad = {'var-1':'Apples', 'var-2':'Pears'}
>>> good = dict()
>>> for k,v in bad.items():
>>>    good[k.replace('-','_')] = v
>>> good
{'var_1': 'Apples', 'var_2': 'Pears'}

This does assume that you simply want a representation of the dict
data in the template, but I can't see any issues of sending a new dict
to the template. As you say it is certainly an annoying feature of the
Django templating language.


On Feb 16, 8:15 pm, bfrederi <brfrederi...@gmail.com> wrote:
> I have a dictionary of dictionaries that I want to use in a template.
> Unfortunately some of the keys are hyphenated (I can't change it), so
> when I try to call them in the template using {{ dictionary.key-
> name }} it doesn't work:
>
> Could not parse the remainder: '-qualifiers' from
> 'display.vocabularies.agent-qualifiers'
>
> Is there a simple work around method for this in Django that I haven't
> picked up yet? Or is this something that I will have to create a
> special work around for? Any suggestions?

--~--~---------~--~----~------------~-------~--~----~
You received this message because you are subscribed to the Google Groups 
"Django users" group.
To post to this group, send email to django-users@googlegroups.com
To unsubscribe from this group, send email to 
django-users+unsubscr...@googlegroups.com
For more options, visit this group at 
http://groups.google.com/group/django-users?hl=en
-~----------~----~----~----~------~----~------~--~---

Reply via email to