django-countries无法获得国名

时间:2011-06-30 15:31:15

标签: django

基于django-countries文档,

>>> person.country
Country(code='NZ')
>>> person.country.name
u'New Zealand'

应该是一种检索国家/地区名称的unicode的方法。但是,当我尝试它时,我得到了

>>> obj.country
Country(code='AX')
>>> obj.country.name
<django.utils.functional.__proxy__ object at 0x91b81ac>

我签出了countries.py并看到选项如下:

('AX', ugettext_lazy('\xc5land Islands'))

即使使用print object.country.name也会打印相同的对象。为什么不起作用?

编辑:抱歉,我只是将名称对象作为样本:p

1 个答案:

答案 0 :(得分:8)

在其上调用unicode()

https://docs.djangoproject.com/en/1.3/ref/unicode/#translated-strings

from django.utils.translation import ugettext_lazy

u = ugettext_lazy('hello')
print u
# out: <django.utils.functional.__proxy__ object at 0x158edd0>

print unicode(u)
# out: u'hello'

如果在模板中呈现,通常不会出现问题。