代码之家  ›  专栏  ›  技术社区  ›  Natim

如何在Django CRUD中自定义auth.User管理页?

  •  42
  • Natim  · 技术社区  · 15 年前

    我只想在Django CrudadAdministration网站的用户列表中添加订阅日期。 我该怎么做?

    谢谢你的帮助

    3 回复  |  直到 15 年前
        1
  •  83
  •   Natim    15 年前

    我终于在admin.py文件中这样做了:

    from django.contrib.auth.admin import UserAdmin
    from django.contrib.auth.models import User
    
    UserAdmin.list_display = ('email', 'first_name', 'last_name', 'is_active', 'date_joined', 'is_staff')
    
    admin.site.unregister(User)
    admin.site.register(User, UserAdmin)
    
        2
  •  23
  •   Fernando Freitas Alves    9 年前

    另一种方法是扩展UserAdmin类。

    from django.contrib.auth.admin import UserAdmin
    from django.contrib.auth.models import User
    
    class CustomUserAdmin(UserAdmin):
        def __init__(self, *args, **kwargs):
            super(UserAdmin,self).__init__(*args, **kwargs)
            UserAdmin.list_display = list(UserAdmin.list_display) + ['date_joined', 'some_function']
    
        # Function to count objects of each user from another Model (where user is FK)
        def some_function(self, obj):
            return obj.another_model_set.count()
    
    
    admin.site.unregister(User)
    admin.site.register(User, CustomUserAdmin)
    
        3
  •  0
  •   devugur    4 年前

    在admin.py中

    导入UserAdmin

    from django.contrib.auth.admin import UserAdmin
    

    输入需要的字段:

    UserAdmin.list_display = ('email','is_active')  # Put what you need
    

    就这些!它适用于Django3

        4
  •  -2
  •   Joshua Partogi    15 年前

    User 您的订阅日期字段是 subscription_date admin.py

    class UserAdmin(admin.ModelAdmin):
        list_display = ('subscription_date',)
    
    admin.site.register(User, UserAdmin)