【发布时间】:2014-04-15 21:55:23
【问题描述】:
我在 django models.Model 的 unicode 表示中有以下代码:
def __unicode__(self):
if self.right:
return u"{left} ({left_score}) | {right} ({right_score})".format({
'left': self.left,
'left_score': self.left_score,
'right': self.right,
'right_score': self.right_score,
})
else:
return "%s" % self.left
我明白了
Exception Type: KeyError
Exception Value: u'left'
我还尝试在字典中使用 unicode 键。 self.left 不是 None。
我已经阅读了很多论坛仍然无法弄清楚我做错了什么。 :(
我该如何解决这个问题?
【问题讨论】:
-
这是我通常的做法:
'%(mykey)s' % {'mykey': 'myvalue'} -
是的,但这是旧语法。
-
format采用 kwargs 而不是命名字符串值的字典 -
是的,我刚开始写答案,谢谢!橡皮鸭的作品! :)
-
“旧语法”没有被弃用,非常好用。
标签: python django python-unicode keyerror