Python flask多维字典实现菜单动态添加

@staticmethod
def insert_menus():
    menus = {
        '系统管理': {
            '用户管理': ['/user_manage', ''],
            '角色管理': ['', ''],
            '菜单管理': ['', ''],
            '权限管理': ['', ''],
            '日志管理': ['', '']
        },
        '配置管理': {
            '专业管理': ['', ''],
            '科目管理': ['', '']
        },

    }
    for class1 in menus:
        class2s = menus[class1]
        for class2 in class2s:
            menu = Cuc_Menu.query.filter_by(menu_class1=class1, menu_class2=class2).first()
            if menu is None:
                menu = Cuc_Menu(menu_class1=class1, menu_class2=class2)
            menu.menu_url, menu.menu_memo = menus[class1][class2]
            db.session.add(menu)
    db.session.commit()


def get_menus(self):
    auths = Cuc_Auth.query.filter_by(role_id=self.role.id).all()
    menuMap = {}
    for auth in auths:
        menu = Cuc_Menu.query.filter_by(id=auth.menu_id).first()
        class1 = menu.menu_class1
        class2 = menu.menu_class2
        url = menu.menu_url
        memo = menu.menu_memo
        if class1 not in menuMap:
            menuMap[class1] = {}
        menuMap[class1][class2] = [url, memo]
    return menuMap

{% if current_user.is_authenticated %}
    <div class="col-sm-2">
        <div class="div1" id="left_menu">
            {% for m_item in menu_items %}
                <div class="div2">
                    <div class="jbsz">
                    </div>
                    {{ m_item }}
                </div>
                <div class="div3">
                    <ul>
                        {% for m_i in menu_items[m_item] %}
                            <li><a href=".{{ menu_items[m_item][m_i][0] }}">{{ m_i }}</a></li>
                        {% endfor %}
                    </ul>
                </div>
            {% endfor %}
        </div>
    </div>
{% endif %}

<script type="text/javascript">
    $(document).ready(function () {
        $(".div2").click(function () {
            $(this).next("div").slideToggle("slow")
                    .siblings(".div3:visible").slideUp("slow");
        });
    });
</script>






评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

张乂卓

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值