首页 > Web开发 > 详细

django中根据用户的权限,显示change_list.html的内容和change_form.html中显示的字段

时间:2017-09-14 13:07:32      阅读:408      评论:0      收藏:0      [点我收藏+]

应用需求: 设置好用户的权限之后, 用户登录后台之后,需要根据用户的权限,用户属于哪个组,显示哪些成员。 并且进入用户编辑页面之后, 设置显示用户的字段和字段显示方式

 

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中显示的字段

原文:http://www.cnblogs.com/learning-skills/p/7519891.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!