djang-xadmin 中,我用了 get_site_menu 布局菜单。
但是这个没有跟权限关联起来,也就是说所有的用户,都会看到所有下列的菜单。
区别仅仅是,有些有权限打开,有些没权限打开。
所以我想问的是,有什么方法可以把这个全局菜单与权限关联。
效果为:有权限的用户,这个菜单才会显示。没权限的,则不显示。
虽然 DJANGO 自带这个功能,但是我用 get_site_menu 后,就不知道怎么跟 django 自带的功能挂钩了。
求各位大大指点。。
import xadmin
from xadmin import views
xadmin.site.register(views.CommAdminView,GlobalSettings)
class GlobalSettings(object):
def get_site_menu(self):
return (
{'title': '用户关系', 'menus': (
{'title': '用户信息', 'url': self.get_model_url(UserProfile, 'changelist')},
{'title': '组', 'url': self.get_model_url(Group, 'changelist')},
{'title': '权限', 'url': self.get_model_url(Permission, 'changelist')},
)},
{'title': '课程管理', 'menus': (
{'title': '课程', 'url': self.get_model_url(Course, 'changelist')},
{'title': '章节', 'url': self.get_model_url(Lesson, 'changelist')},
{'title': '视频', 'url': self.get_model_url(Video, 'changelist')},
{'title': '课件', 'url': self.get_model_url(CourseResource, 'changelist')},
)},
{'title': '机构管理', 'menus': (
{'title': '城市', 'url': self.get_model_url(CityDict, 'changelist')},
{'title': '机构', 'url': self.get_model_url(CourseOrg, 'changelist')},
{'title': '教师', 'url': self.get_model_url(Teacher, 'changelist')},
)},
{'title': '用户操作', 'menus': (
{'title': '用户咨询', 'url': self.get_model_url(UserAsk, 'changelist')},
{'title': '用户课程', 'url': self.get_model_url(UserCourse, 'changelist')},
{'title': '用户消息', 'url': self.get_model_url(UserMessage, 'changelist')},
{'title': '课程评论', 'url': self.get_model_url(CourseComments, 'changelist')},
{'title': '用户收藏', 'url': self.get_model_url(UserFavorite, 'changelist')},
)},
)