- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在尝试将 django-transmeta 集成到 ubuntu 10.10 上的 django 安装中(系统上的 python-django 版本是 1.2.3-1ubuntu0.2.10.10.1)按照项目主页/摘要 here 中的说明进行操作我最终在数据库中得到了正确的新字段,但是当我打开管理界面并尝试添加对象时,翻译后的“描述”未显示在管理面板中,并且仅显示无 。查看源代码并经过一些调试后,变量传递给模板其值为 None 似乎是 field.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 管理 View 中生成 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
关于django-transmeta进入admin,在field.label_tag中显示 "None",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5536760/
我一直在谷歌搜索这个,似乎无法找到答案。 我正在我的一个多语言网站项目中实现 django-transmeta,但希望它使用安装/管理语言以外的其他语言作为默认语言。 我有,在我的setting.py
我是一名优秀的程序员,十分优秀!