标签:登录 ret 根据 pass 权限 first 编辑 port partner
应用需求: 设置好用户的权限之后, 用户登录后台之后,需要根据用户的权限,用户属于哪个组,显示哪些成员。 并且进入用户编辑页面之后, 设置显示用户的字段和字段显示方式
class MyUserAdmin(UserAdmin):
def get_queryset(self, request): //通过get_queryset函数可以过滤出组的成员, 或者这个过滤的规则有你自己定也行
qs = super(MyUserAdmin, self).get_queryset(request)
if request.user.is_superuser:
return qs
else:
return qs.filter(groups__name=mall_admin_group) | qs.filter(groups__name=mall_partner_group)
def get_fieldsets(self, request, obj=None): //通过get_fieldsets 过滤是否在User form page 显示相关字段
if not obj:
return self.add_fieldsets
if request.user.is_superuser:
perm_fields = (‘is_active‘, ‘is_staff‘, ‘is_superuser‘, ‘groups‘, ‘user_permissions‘)
else:
perm_fields = (‘is_active‘, ‘is_staff‘, ‘groups‘)
return [(None, {‘fields‘: (‘username‘, ‘password‘)}), (_(‘Personal info‘), {‘fields‘: (‘first_name‘, ‘last_name‘, ‘email‘)}), (_(‘Permissions‘), {‘fields‘: perm_fields}), (_(‘Important dates‘), {‘fields‘: (‘last_login‘, ‘date_joined‘)})]
admin.site.unregister(User)
admin.site.register(User, MyUserAdmin)
django中根据用户的权限,显示change_list.html的内容和change_form.html中显示的字段
标签:登录 ret 根据 pass 权限 first 编辑 port partner
原文地址:http://www.cnblogs.com/learning-skills/p/7519891.html