Django SimpleUI2024.4.1版本自定义菜单权限设置

# Django SimpleUI2024.4.1版本自定义菜单权限设置

项目中使用simpleui 在配置文件中添加了几个自定义SIMPLEUI_CONFIG.发现这几个新增的菜单路径没有权限控制默认显示出来不能动态显示(官网也配有关于菜单权限的说明)。

后来百度了下看了下 simplegs.py源码。发现最新的版本有权限配置的,关键代码

看到此代码后就在配置文件中添加 “permission” 选择项定义菜单权限

这个权限 就是django里面的权限app_label + codename. 

PS: 此版本有一个bug,添加权限无法实时渲染 权限菜单,因为代码读取配置菜单是使用浅copy。但是重启服务后会生效控制 菜单

临时解决办法,使用猴子补丁,在python加载模块的时候替换simpletags模块中的一个函数 __get_config

# menu.py 我是把 simpleui 单独抽取到一个.py文件中。 在Django settings中 from menu import *
# 菜单设置
SIMPLEUI_CONFIG = get_menus()

import os

from simpleui.templatetags import simpletags


def __get_config(name):
    if name == 'SIMPLEUI_CONFIG':
        return get_menus()
    from django.conf import settings
    value = os.environ.get(name, getattr(settings, name, None))

    return value


simpletags.__get_config = __get_config

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值