在 django 中工作。
为配置文件模型创建 unicode 输出,其中用户姓氏是可选的。
Desired:
John D. if last name
John if not last name
Acceptable (though not ideal):
John . if not last name
当前代码:
def __unicode__(self):
return "%s %s." % (self.user.first_name, self.user.last_name[0])
这通常可以获得可接受的结果,但当 last_name == ""时失败。
是否有单行 python 习惯用法来生成我想要的输出?我在 google 和 stack overflow 中搜索了六个搜索词,结果是鹅蛋。
请您参考如下方法:
简单的出路:
def format_name(fname, lname):
if lname:
return "{0} {1}.".format(fname, lname)
return fname
然后只需在 __unicode__ 中返回 format_name(self.user.first_name, self.user.last_name)。这是重要的一行(在您的模型中),并且启动时可读。
