关于 django-xadmin 设置的问题

2018-01-16 10:22:58 +08:00
 xojisi

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')},

            )},
        )
2081 次点击
所在节点    Python
0 条回复

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/423217

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX