自定义用户修改表单django管理站点

当您从django管理站点创建/修改用户时,您将具有以下界面:

自定义用户修改表单django管理站点

我的项目非常简单,因为我没有团队,每个员工用户都可以拥有超级用户状态。这就是为什么我不想显示超级用户状态选项,组和用户权限都不显示的原因。如何掩盖此表单的这一部分,并断言所有员工用户也是超级用户。

此表单是在此处生成的:django / contrib / admin / templates / admin / change_form.html

,尤其是在这行:

{% block field_sets %}
{% for fieldset in adminform %}
  {% include "admin/includes/fieldset.html" %}
{% endfor %}
{% endblock %}

所以我需要修改adminform变量,但是不知道如何。

任何帮助将不胜感激。

提前谢谢!

w75752 回答:自定义用户修改表单django管理站点

我认为您需要修改该模板。所以你看看

django / contrib / admin / templates / admin / auth / user /

其中应包含几个用于修改用户的模板。

您可以通过将它们复制到TEMPLATE_DIR / admin / auth并进行更改来覆盖它们。

另外,请查看@ django / contrib / admin / templates / admin / change_form.html

这是您要复制并更改(更改为TEMPLATE_DIR / admin / auth / user /)的文件,以覆盖该模型的更改形式。

,

这是方法。在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)
本文链接:https://www.f2er.com/2603218.html

大家都在问