Уведомления

Группа в Telegram: @pythonsu
  • Начало
  • » Django
  • » django.utils.functional.__proxy при считывании строки tuple [RSS Feed]

#1 Март 24, 2008 12:13:31

NilovSerge
От:
Зарегистрирован: 2007-02-15
Сообщения: 83
Репутация: +  0  -
Профиль   Отправить e-mail  

django.utils.functional.__proxy при считывании строки tuple

Всем привет

У меня есть tuple вида :

NEWSACCESS_CHOICES = (
('', _('- Select news access -')),
('1', _('View only')),
('2', _('Edit')),
Я пытаюсь програмно в цикле по коду получить значение и получаю строку вида <django.utils.functional.__proxy__ object at 0x0161BDD0>
если убрать вызов фукции интернациализации - то нормальная строка…

Как это побороть ?

Заранее спасибо.



Офлайн

#2 Март 24, 2008 13:18:28

playpauseandstop
От:
Зарегистрирован: 2007-10-31
Сообщения: 77
Репутация: +  0  -
Профиль   Отправить e-mail  

django.utils.functional.__proxy при считывании строки tuple

убедитесь что вы используете не “ленивый” ugettext… “ленивый” ugettext отдает строки только тогда, когда вы настоятельно у него об этом попросите (unicode(ugettext_lazy('translated')))

ну и пример для пущей уверенности

In [1]: from django.utils.translation import ugettext_lazy as _
In [2]: choices = (
   ...:     (1, _('a')),
   ...:     (2, _('b')),
   ...:     (3, _('c')),
   ...: )
In [3]: for k, v in choices:
   ...:     '%s => %s' % (k, v)
   ...:
Out[3]: '1 => <django.utils.functional.__proxy__ object at 0x1811d90>'
Out[3]: '2 => <django.utils.functional.__proxy__ object at 0x1811e10>'
Out[3]: '3 => <django.utils.functional.__proxy__ object at 0x1811c90>'
In [4]: del _
In [5]: from django.utils.translation import ugettext as _
In [6]: choices = (
    (1, _('a')),
    (2, _('b')),
    (3, _('c')),
)
In [11]: for k, v in choices:
    '%s => %s' % (k, v)
   ....:
Out[12]: u'1 => a'
Out[12]: u'2 => b'
Out[12]: u'3 => c'



Офлайн

  • Начало
  • » Django
  • » django.utils.functional.__proxy при считывании строки tuple[RSS Feed]

Board footer

Модераторировать

Powered by DjangoBB

Lo-Fi Version