基于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
也打印相同的对象。为什么它不起作用?
edit:对不起,我只是把name对象作为示例:p
对其调用unicode()
https://docs.djangoproject.com/en/1.3/ref/unicode/#translated-字符串
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'
如果在模板中呈现,通常不会出现问题。