自定义用户修改表单 django 管理站点
customize user modification form django admin site
当您 create/modify 来自 django 管理站点的用户时,您将拥有此界面:
我的项目很简单,因为我没有组,每个员工用户都可以拥有超级用户状态。这就是为什么我不想显示超级用户状态选项,组和用户权限。如何屏蔽此表单的这一部分并断言所有员工用户也是超级用户。
此表格生成于此:django/contrib/admin/templates/admin/change_form.html
尤其是在这一行:
{% block field_sets %}
{% for fieldset in adminform %}
{% include "admin/includes/fieldset.html" %}
{% endfor %}
{% endblock %}
所以我需要修改 adminform 变量,但不知道如何。
如有任何帮助,我们将不胜感激。
提前致谢!
我认为您需要修改该模板。所以你看看
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
文件中定义一个新的用户管理员,就像你想要的字段集一样:
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)
当您 create/modify 来自 django 管理站点的用户时,您将拥有此界面:
我的项目很简单,因为我没有组,每个员工用户都可以拥有超级用户状态。这就是为什么我不想显示超级用户状态选项,组和用户权限。如何屏蔽此表单的这一部分并断言所有员工用户也是超级用户。
此表格生成于此:django/contrib/admin/templates/admin/change_form.html
尤其是在这一行:
{% block field_sets %}
{% for fieldset in adminform %}
{% include "admin/includes/fieldset.html" %}
{% endfor %}
{% endblock %}
所以我需要修改 adminform 变量,但不知道如何。
如有任何帮助,我们将不胜感激。
提前致谢!
我认为您需要修改该模板。所以你看看
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
文件中定义一个新的用户管理员,就像你想要的字段集一样:
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)