gpt4 book ai didi

django-transmeta进入admin,在field.label_tag中显示 "None"

转载 作者:行者123 更新时间:2023-12-02 08:49:17 24 4
gpt4 key购买 nike

我正在尝试将 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/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com