我试图隐藏Django管理站点中的is_staff和is_superuser字段。我把它放在本地的admin.py
中from django.contrib import admin
from django.contrib.auth.admin import UserAdmin
from django.contrib.auth.models import User
from django.utils.translation import ugettext, ugettext_lazy as _
class MyUserAdmin(UserAdmin):
fieldsets = (
(None, {'fields': ('username', 'password')}),
(_('Personal info'), {'fields': ('first_name', 'last_name', 'email')}),
(_('Permissions'), {'fields': ('is_active', 'groups', 'user_permissions')}),
(_('Important dates'), {'fields': ('last_login', 'date_joined')}),
)
list_display = ('username', 'email', 'first_name', 'last_name')
list_filter = ('is_active', 'groups')
admin.site.unregister(User)
admin.site.register(User, MyUserAdmin)
虽然它不起作用。这些字段仍在管理站点中。
这是我已安装的应用。我在材料应用程序中有我的admin.py。
INSTALLED_APPS = (
'django.contrib.auth',
'django.contrib.contenttypes',
'django.contrib.sessions',
'django.contrib.sites',
'django.contrib.messages',
'django.contrib.staticfiles',
'django.contrib.admin',
'django.contrib.admindocs',
'home',
'materials',
'south',
'functional_tests',
'reports',
)
答案 0 :(得分:1)
您的admin.py需要位于实际的django应用中,即INSTALLED_APPS
设置中的内容。您发布的代码应该可以正常工作。
编辑:为了将来参考,该问题是另一个改变用户管理员的应用程序。
答案 1 :(得分:0)
如果您想从list_display或编辑表单中删除这些字段,请解释,您可以尝试
exclude =('is_staff','is_superuser')
这应该可以解决问题。