Rajeev
Rajeev

Reputation: 46919

How to access dictionary values in django template

How to access the dictionary value in django template? I want to get the value of the variable a actually

class Emp(models.Model):
  name = models.CharField(max_length=255, unique=True)
  address1 = models.CharField(max_length=255)

  def get_names(self):
    names = {}
    names_desc = {}
    nbl = {}
    names.update({'a' : 1})
    names_desc.update({'b' : 2})
    nbl.update({'names' : names,'names_desc' : names_desc})
    return nbl

emp is my object that i am passing to the template Is it {{emp.get_names}}?? or {{emp.get_names.names.a}}

Upvotes: 6

Views: 4213

Answers (2)

tamizhgeek
tamizhgeek

Reputation: 1401

{{emp.get_names}}

This will return the whole 'nb1' dict.

You should go with the second one.

Upvotes: 1

dting
dting

Reputation: 39287

{{ emp.get_names.names.a }} will get you 1 in the template

{{ emp.get_names.names }} will get you {'A':1} in the template

{{ emp.get_names }} will get you {'names_desc': {'b': 2}, 'names': {'a': 1}} in the template

Upvotes: 9

Related Questions