当您从django管理站点创建/修改用户时,您将具有以下界面:
我的项目非常简单,因为我没有团队,每个员工用户都可以拥有超级用户状态。这就是为什么我不想显示超级用户状态选项,组和用户权限都不显示的原因。如何掩盖此表单的这一部分,并断言所有员工用户也是超级用户。
此表单是在此处生成的:django / contrib / admin / templates / admin / change_form.html
,尤其是在这行:
{% block field_sets %}
{% for fieldset in adminform %}
{% include "admin/includes/fieldset.html" %}
{% endfor %}
{% endblock %}
所以我需要修改adminform变量,但是不知道如何。
任何帮助将不胜感激。
提前谢谢!
答案 0 :(得分:0)
我认为您需要修改该模板。所以你看看
django / contrib / admin / templates / admin / auth / user /
其中应包含几个用于修改用户的模板。
您可以通过将它们复制到TEMPLATE_DIR / admin / auth并进行更改来覆盖它们。
另外,请查看@ django / contrib / admin / templates / admin / change_form.html
这是您要复制并更改(更改为TEMPLATE_DIR / admin / auth / user /)的文件,以覆盖该模型的更改形式。
答案 1 :(得分:0)
这是方法。在admin.py
文件中,使用所需的字段集定义一个新的用户admin:
from django.contrib import admin
from django.utils.translation import gettext, gettext_lazy as _
# Register your models here.
from django.contrib.auth.admin import UserAdmin
from django.contrib.auth.models import User, Group
# Define a new User admin
class UserAdmin(UserAdmin):
fieldsets = (
(None, {'fields': ('username', 'password')}),
(_('Personal info'), {'fields': ('first_name', 'last_name', 'email')}),
(_('Permissions'), {
'fields': ('is_active', 'is_staff', 'is_superuser'),
}),
(_('Important dates'), {'fields': ('last_login', 'date_joined')}),
)
# Re-register UserAdmin
admin.site.unregister(User)
admin.site.register(User, UserAdmin)
# don't show groups
admin.site.unregister(Group)