4

I'm trying to do a very simple thing but I couldn't find how to.

I have this function defined in my model class :

def __unicode__(self):
    return "Object name = " + self.name

so in a template page, or in a views.py, I want to get this string.

in a template, I tried these and they didn't work :

{{ my_object }} {{ str(my_object) }} {{ my_object.self }}

What is the correct way of doing this?

Thanks !

jeff
  • 13,055
  • 29
  • 78
  • 136
  • Related and may be duplicate? http://stackoverflow.com/questions/1980862/django-unicode-how-can-i-call-this-method-in-a-template – alecxe Mar 29 '15 at 00:38

1 Answers1

8

There is two functions __unicode__ and __str__ for python class.

str function, even in template, calls __str__.

class Object(object):
    name = "I'm an object"

    def __str__(self):
        return "Object name = %s" % self.name

    def __unicode__(self):
        return u"Object name = %s" % self.name
Kmaschta
  • 2,369
  • 1
  • 18
  • 36