On Feb 17, 2:01 pm, "euan.godd...@googlemail.com"
<euan.godd...@googlemail.com> wrote:
> 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?

Or, write a quick custom template filter.

@register.filter
def dict_get(d, key):
    return d.get(key)

{{ dictionary|dict_get:"key-name" }}
--
DR.

--~--~---------~--~----~------------~-------~--~----~
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