1

我正在尝试将学位标志放入传递给模板的字符串中。我试过°当然逃脱了。然后我尝试使用 \u00b0 和 \xb0 像这样:

def __str__(self):
    return u"%s (%s \xb0C to %s \xb0C)" % \
        (self.name, self.min_deg_c, self.max_deg_c)

这两种情况都导致:

'ascii' codec can't encode character u'\xb0' in position 14: ordinal not in range(128)

理想情况下,django 会在转义时将 \xb0 变成°。我该怎么做才能得到这个结果?我不想关闭转义。

4

1 回答 1

3

您不能从__str__方法返回 unicode(假设您使用的是 Python 2.x)。您应该使用该__unicode__方法。

于 2012-12-01T13:39:20.410 回答