jeff
jeff

Reputation: 13643

How to get Object as String in Django?

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 !

Upvotes: 4

Views: 12276

Answers (1)

Kmaschta
Kmaschta

Reputation: 2429

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

Upvotes: 8

Related Questions