django-transmeta进入管理员,在该领域显示“None”.label_tag
问题描述:
我试图将django-transmeta整合到我在Ubuntu 10.10上的django安装中(系统上的python-django版本是1.2.3-1ubuntu0.2.10。 10.1) 按照项目主页/摘要here中的说明,我最终得到了数据库中的正确新字段,但是当我打开管理界面并尝试添加对象时,翻译后的字段“description”未显示在管理面板和它只显示无。 展望源代码和后位调试,变量传递给模板 ,它的值是无似乎field.label_tagdjango-transmeta进入管理员,在该领域显示“None”.label_tag
这里面models.py类:
class Place(models.Model):
__metaclass__ = TransMeta
lat = models.FloatField(blank=True, null=True)
lon = models.FloatField(blank=True, null=True)
alt = models.FloatField(blank=True, null=True)
description = models.CharField(max_length=100)
address = models.CharField(max_length=50)
city = models.CharField(max_length=60)
state_province = models.CharField(max_length=30)
country = models.CharField(max_length=50)
attributes = models.ManyToManyField(Attribute, through='PlaceAttribute')
is_online = models.BooleanField(default=False)
class Meta:
translate = ('description',)
def __unicode__(self):
return self.description
在settings.py我加了这一点:
LANGUAGE_CODE = 'en-us'
ugettext = lambda s: s # dummy ugettext function, as django's docs say
LANGUAGES = (
('en-us', ugettext('English')),
('it', ugettext('Italian')),
('de', ugettext('Deutsch')),
('fr', ugettext('French')),
('ru', ugettext('Russian')),
('cn', ugettext('Chinese')),
('th', ugettext('Thai')),
)
TRANSMETA_DEFAULT_LANGUAGE = 'en-us'
,这是结果的广告截图分钟接口: (对不起,我是新来的,并在反垃圾邮件问题的原因不能发表图片,还) admin screenshot here
在上述管理形式,它应该是这样的:
Description en-us:
Description it:
Description de:
....
有无你对这个问题有什么想法?或者,也许这是一个错误?
为了改善我的调试,你能否指点我在django管理员视图中的field.label_tag生成的正确位置? (我对Django相当陌生)
如果需要某些调试数据,请告诉我,我很乐意提供它。
在此先感谢
法比奥
答
它看起来像你错过verbose_name属性上的字段。
from django.utils.translation import gettext_lazy as _
class Place(models.Model):
__metaclass__ = TransMeta
# ...
description = models.CharField(max_length=100, verbose_name=_("Description"))
# ...
class Meta:
translate = ('description',)
def __unicode__(self):
return self.description
感谢Aminho,它是这样的,现在它的工作,竖起大拇指;) 我不能投你的答案,但是,因为我是新来的,但我会尽快来回到这个。 – FabioP 2011-04-04 14:18:20
不用担心投票,不要忘记使用'manage.py makemessages -l'为每种语言生成消息,翻译并编译它们*如果您还想翻译管理界面* –
2011-04-04 15:02:26