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__(Python 2.x を使用していると仮定します)。__unicode__メソッドを使用する必要があります。

于 2012-12-01T13:39:20.410 に答える