如何覆盖django管理员翻译的列标题(字段的verbose_name)



我只想对名字列标题使用我自己的翻译。仅此而已。

我的研究让我找到了django自己的消息文件,其中包含:

#: models.py:235
msgid "first name"
msgstr "nombre propio"

所以我创建了文件

/site/project/locate/es/LC_MESSAGES/django.po

把我的新3行

#: models.py:235
msgid "first name"
msgstr "nombre"

我已经尝试了我脑海中所有可能的位置,并且在设置中:

LOCALE_PATHS=('/home/djdev/site/project/loce',)

但管理员用户列表总是显示名字的默认翻译。

我使用的解决方法是创建一个函数,并在*list_display*中调用它,如下所示:

def my_full_name(self, obj):
    try:
        return obj.last_name + ' ' + obj.first_name
    except CustomProfile.DoesNotExist:
        return ''
my_full_name.admin_order_field = 'last_name'
list_display = ('username', 'my_full_name', 'email')

这对我来说已经足够了,但我仍然很好奇,因为这只是列表视图的一个变通方法,而不是表单。

问候,

请记住始终运行python manage.py compilemessages以实际创建显示翻译内容所需的二进制django.mo文件。

相关内容

  • 没有找到相关文章

最新更新