2012-06-08 42 views
2

我建立一個網站,其中包含幾種語言。Django的 - 如何設置/改變Django的用戶模型屬性的詳細名稱?

所以我需要在我所有的模型類(與internationalizaton輔助)來設置所有屬性的詳細名稱。不幸的是我沒有找到一個方法來改變用戶屬性的詳細名稱...

而且覆蓋每一個表格是不是真的一個很好的辦法做到這一點,對不對?

感謝您的幫助!

羅恩

回答

4

這取決於你需要什麼。一般來說,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) 
相關問題