Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

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 !

like image 880
jeff Avatar asked Mar 17 '23 14:03

jeff


1 Answers

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
like image 67
Kmaschta Avatar answered Mar 19 '23 03:03

Kmaschta