django __unicode__() - 我如何在模板中调用此方法

Posted

技术标签:

【中文标题】django __unicode__() - 我如何在模板中调用此方法【英文标题】:django __unicode__() - how can i call this method in a template 【发布时间】:2010-12-31 03:40:04 【问题描述】:

我在我的联系人模型中定义了一个 unicode() 方法。

def __unicode__(self):
        return u'%s %s' % (self.first_name, self.last_name)

现在我想在模板中显示 unicode() 方法的返回值。

但我尝试的一切都失败了。

 object.unicode 

 object.unicode() 

 object.__unicode__ 

 object.str 

这让我很困惑,因为我有另一个模型级别的函数,可以毫无问题地从模板中引用。

这很好用:

def get_id(self):
        return "%i" % self.id 

 object.get_id|escape 

【问题讨论】:

【参考方案1】:
 object 

将自动为任何对象返回__unicode__ 的值。

【讨论】:

太棒了。谢谢。这样可行。但是“(以及更多字符,所以 SO 不会抱怨)”是什么意思 SO 要求答案或评论至少包含 15 个字符。

以上是关于django __unicode__() - 我如何在模板中调用此方法的主要内容,如果未能解决你的问题,请参考以下文章

关于django模型里面的__str__和__unicode

如何从 Django 中的 __unicode__() 函数中查询数据差异

django模型中的__str__()方法和__unicode__()方法

十Django3.0学习之django.utils.encoding未发现 python_2_unicode_compatible包

django.utils.encoding未发现 python_2_unicode_compatible包

django.utils.encoding未发现 python_2_unicode_compatible包