Django - 如何设置/更改 Django 用户模型属性的详细名称



我正在建立一个包含多种语言的网站。

因此,我需要在所有模型类中设置所有属性的详细名称(使用 internationalizaton-helper)。不幸的是,我没有找到更改用户属性详细名称的方法......

覆盖每个表单并不是一个好方法,对吧?

感谢您的帮助!

罗恩

这取决于你需要这个做什么。通常,verbose_name仅在管理员的上下文中使用。如果这是您需要担心的,那么您可以创建一个代理模型,然后让您的用户管理员使用它:

from django.contrib.auth.models import User
from django.utils.translation import ugettext_lazy as _
class CustomUser(User):
    class Meta:
        proxy = True
        app_label = 'auth'
        verbose_name = _('My Custom User')

然后,在 admin.py:

 from django.contrib.auth.admin import UserAdmin
 from django.contrib.auth.models import User
 from .models import CustomUser
 admin.site.unregister(User)
 admin.site.register(CustomUser, UserAdmin)

由于这是搜索 django 详细名称时谷歌上的第一个答案,我想我会纠正 Chris Pratt 2012 年的答案,使其对 django 2.0 是正确的

如果您只想在管理面板中更新模型名称,则只需将 Meta 类添加到您的用户模型中即可。请注意克里斯的回答略有变化。

class Meta:
    verbose_name = 'My Custom User'

相关内容

  • 没有找到相关文章

最新更新