我需要在django admin中创建“新用户”页面的自定义模板(默认情况下为/ admin / auth / user / add /)。
我只想添加一些复选框,代表用户的自定义权限。
例如,如果管理员在创建新用户期间选择其中一些,则新用户将拥有这些权限。如果未选择任何一个,则不会为新用户分配任何权限。
如何实现此功能?
注意:我不需要更改默认用户模型。
答案 0 :(得分:1)
只需更改管理员的用户创建表单,然后在那里工作:
from django.contrib.auth.admin import UserAdmin
from django.contrib.auth.forms import UserChangeForm
class CustomUserChangeForm(UserChangeForm):
def save(self, force_insert=False, force_update=False, commit=True):
m = super(CustomUserChangeForm, self).save(commit=False)
# do custom stuff
if commit:
m.save()
return m
class CustomUserAdmin(UserAdmin):
form = CustomUserChangeForm
admin.site.unregister(User)
admin.site.register(User, CustomUserAdmin)