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

来源:互联网 发布:Java debug 模式快捷键 编辑:程序博客网 时间:2024/04/30 14:42
@staticmethoddef 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>



0 0