代码之家  ›  专栏  ›  技术社区  ›  S.Lott

在Django中自定义管理表单,同时使用自动发现

  •  23
  • S.Lott  · 技术社区  · 17 年前

    django.contrib.auth 单元具体来说,我想要一个不同的表单,使用户名成为一个电子邮件字段(电子邮件是一个备用电子邮件地址) auth 不必要的——一个简单的形式变化 似乎 成为所需要的一切。)

    当我使用 autodiscover 用定制的 ModelAdmin 对于 我最终与他发生了冲突 认证 的管理界面,并获取“已注册”错误。

    添加到自定义管理站点。

    或者,我应该写我自己版本的“ 自动发现 与排除“基本上导入所有 admin 模块

    2 回复  |  直到 17 年前
        1
  •  53
  •   Carl Meyer    14 年前

    以上都没有。只需使用admin.site.unregister()。下面是我最近如何在管理员中添加“正在活动”上的筛选用户( 在Django core中,is_主动过滤现在默认在用户模型上;作为示例,此处仍然有效),尽可能干燥:

    from django.contrib import admin
    from django.contrib.auth.admin import UserAdmin
    from django.contrib.auth.models import User
    
    class MyUserAdmin(UserAdmin):
        list_filter = UserAdmin.list_filter + ('is_active',)
    
    admin.site.unregister(User)
    admin.site.register(User, MyUserAdmin)
    
        2
  •  2
  •   Andy Baker    17 年前

    我认为使用自定义身份验证后端来实现这一点可能更容易,从而消除了对自定义ModelAdmin的需要。

    http://www.djangosnippets.org/snippets/74/

    推荐文章