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

Ron*_*Ron 3 django model verbose

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

因此,我需要为所有模型类中的所有属性设置详细名称(使用国际化助手)。不幸的是,我没有找到一种方法来更改用户属性的详细名称...

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

谢谢你的帮助!

罗恩

Chr*_*att 9

这取决于你需要它做什么。通常,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')
Run Code Online (Sandbox Code Playgroud)

然后,在 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)
Run Code Online (Sandbox Code Playgroud)