我正在使用GeoDjango
示例和class WorldBorder
。
我的麻烦是我无法打印出所选国家的名称。当我尝试执行
from django.utils.translation import ugettext_lazy as _
...
location = fromstr(... , srid=4326)
country = WorldBorder.objects.get(mpoly__intersects=location)
print _('User country determined to %s') %country.name
我收到错误消息:
Python: TypeError: 'unicode' object is not callable
当我删除ugettext_lazy
时,一切正常。 如何保留翻译选项并使字符串有效?
答案 0 :(得分:4)
看起来你正在使用Python shell。在那里,_将取最后一个表达式的值。所以_最终成为第三行之后的WorldBorder实例。为避免此问题,当您在shell中使用translate时,请将ugettext_lazy别名为' _'。
以外的其他内容。