分享web开发知识

注册/登录|最近发布|今日推荐

主页 IT知识网页技术软件开发前端开发代码编程运营维护技术分享教程案例
当前位置:首页 > 教程案例

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

发布时间:2023-09-06 01:11责任编辑:胡小海关键词:django

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

 

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

知识推荐

我的编程学习网——分享web前端后端开发技术知识。 垃圾信息处理邮箱 tousu563@163.com 网站地图
icp备案号 闽ICP备2023006418号-8 不良信息举报平台 互联网安全管理备案 Copyright 2023 www.wodecom.cn All Rights Reserved