通过 django 用户权限限制管理菜单项
Restrict admin menu items by django user permission
我正在扩展 wagtail,我正在使用下一个钩子:
python
@hooks.register('register_settings_menu_item')
def register_django_admin_menu_item():
return MenuItem(_('Site Admin'), '/django-admin', classnames='icon icon-wagtail-inverse', order=20000)
我得到了 django 管理页面的 link,但我想将该项目限制为仅具有员工权限的用户。
我该怎么做?
有一个装饰器:
from django.contrib.admin.views.decorators import staff_member_required
@staff_member_required
@hooks.register('register_settings_menu_item')
def register_django_admin_menu_item():
return MenuItem(_('Site Admin'), '/django-admin', classnames='icon icon-wagtail-inverse', order=20000)
试试这个:
class CustomAdminMenuItem(MenuItem):
def is_shown(self, request):
return request.user.is_staff
@hooks.register('register_admin_menu_item')
def register_custom_admin_menu_item():
return CustomAdminMenuItem(_('Site Admin'), reverse('admin_menu'), classnames='icon icon-folder-inverse', order=20000)
我正在扩展 wagtail,我正在使用下一个钩子:
python
@hooks.register('register_settings_menu_item')
def register_django_admin_menu_item():
return MenuItem(_('Site Admin'), '/django-admin', classnames='icon icon-wagtail-inverse', order=20000)
我得到了 django 管理页面的 link,但我想将该项目限制为仅具有员工权限的用户。
我该怎么做?
有一个装饰器:
from django.contrib.admin.views.decorators import staff_member_required
@staff_member_required
@hooks.register('register_settings_menu_item')
def register_django_admin_menu_item():
return MenuItem(_('Site Admin'), '/django-admin', classnames='icon icon-wagtail-inverse', order=20000)
试试这个:
class CustomAdminMenuItem(MenuItem):
def is_shown(self, request):
return request.user.is_staff
@hooks.register('register_admin_menu_item')
def register_custom_admin_menu_item():
return CustomAdminMenuItem(_('Site Admin'), reverse('admin_menu'), classnames='icon icon-folder-inverse', order=20000)