Джанго-страны не могут получить название страны - PullRequest
5 голосов
/ 30 июня 2011

На основании документации 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>

. Я извлекаю файл country.py и вижу, что варианты выглядят так:

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

Даже при использовании print object.country.name печатается один и тот же объект,Почему это не работает?

edit: Извините, я просто поместил имя объекта в качестве образца: p

1 Ответ

8 голосов
/ 30 июня 2011

Вызовите 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'

Обычно не проблема, если визуализируется в шаблоне.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...