我刚刚正在设置我的应用程序,我已经创建了一个管理面板,其中包括其他功能,允许创建/编辑/删除用户。我实现了所有这些并且工作正常,但后来我意识到我一直以 super 用户身份登录 -_-
当然,当我以普通注册用户身份登录后,它就不起作用了(我猜不应该这样)。
我的问题是:如何允许某些用户在不成为 super 用户的情况下更改其他用户的详细信息?
附言我查看了组和权限,但似乎都没有涵盖用户信息的编辑。
请您参考如下方法:
只需将以下权限授予用户,他就可以更改其他用户的用户详细信息:
auth | User | can add user
auth | User | can modify user
auth | User | can delete user
不要忘记将具有上述权限的用户也设为 stuff 成员,以允许他登录到管理界面。
更新 下面是一个关于如何以编程方式设置权限以允许用户修改其他用户的小片段:
import django.contrib.auth
# let's get the User permissions
user_perms=django.contrib.auth.models.Permission.objects.filter(content_type__name='user')
# let's find a user
u = django.contrib.auth.models.User.objects.get(username='xxx')
# add the permissions to the user
for up in user_perms:
u.user_permissions.add(up)
# and make the user a staff member
u.is_staff = True
u.save()
