zoukankan      html  css  js  c++  java
  • Django template层之json报文遍历总结

    Django template层之json报文遍历总结

    by:授客 QQ1033553122

     

    测试环境

    Win7

    Django 1.11

     

    实例

    Views.py

    def home(request):

        home_page = 'website/pages/home.html'

     

        nav_menus = {'menus':[]}

        nav_menus_queryset = LeftNavigation.objects.filter(parent_id=0).order_by('order').values()

     

        for menu in nav_menus_queryset:

            menu['sub_menus'] = []

            sub_nav_menus_queryset = LeftNavigation.objects.filter(parent_id=menu['id']).order_by('order').values()

            for sub_menu  in  sub_nav_menus_queryset:

                menu['sub_menus'].append(sub_menu)

     

            nav_menus['menus'].append(menu)

     

        return render(request, home_page, {'leftNavMenus': nav_menus})

     

     

     

    说明:其中nav_menus的具体值如下

     

    {

        "menus": [{

            "parent_id": 0,

            "url": "",

            "id": 1,

            "icon_style": "glyphiconglyphicon-cog",

            "sub_id": "collapse1",

            "sub_menus": [{

                "parent_id": 1,

                "url": "http: //www.baidu.com",

                "id": 2,

                "icon_style": "glyphiconglyphicon-cog",

                "sub_id": "",

                "order": 1,

                "menu_name": "项目管理1",

                "is_sub_open": 0

            }, {

                "parent_id": 1,

                "url": "http: //www.baidu.com",

                "id": 3,

                "icon_style": "glyphiconglyphicon-cog",

                "sub_id": "",

                "order": 5,

                "menu_name": "项目管理2",

                "is_sub_open": 0

            }],

            "order": 1,

            "menu_name": "项目管理",

            "is_sub_open": 1

        }, {

            "parent_id": 0,

            "url": "",

            "id": 40,

            "icon_style": "glyphiconglyphicon-cog",

            "sub_id": "collapse2",

            "sub_menus": [],

            "order": 1,

            "menu_name": "数据管理",

            "is_sub_open": 0

        }, {

            "parent_id": 0,

            "url": "",

            "id": 20,

            "icon_style": "glyphiconglyphicon-cog",

            "sub_id": "collapse2",

            "sub_menus": [{

                "parent_id": 20,

                "url": "http: //www.baidu.com",

                "id": 21,

                "icon_style": "glyphiconglyphicon-cog",

                "sub_id": "",

                "order": 1,

                "menu_name": "任务管理1",

                "is_sub_open": 0

            }],

            "order": 2,

            "menu_name": "任务管理",

            "is_sub_open": 0

        }]

    }

     

    template

    以下是不同的前端模板代码下,访问页面结果

    模板1

     

     

     

     

    模板2

     

     

    模板3

     

     

     运行结果

     

     

     

     

    模板4

     

     运行结果

     

     

     

     

     

     

    模板5

     

     

    运行结果

     

     

     

     
  • 相关阅读:
    演练:根据安全角色筛选站点地图节点
    请单击下面的按钮,以重定向到可以选择新数据存储区的页。下面的消息可能会有助于诊断问题: 无法连接到 SQL Server 数据库。
    ASP.NET验证控件
    VS2008样式图片背景
    .net面试题大全(有答案)
    ASP.NET角色权限设置(参考MSDN)了解角色管理
    什么是MFC,使用MFC有什么好处?
    ASP.NET C# 之 Activex用C#编写ActiveX控件(三)
    一个分析飞信的牛人网站
    智能手机程序安装三法
  • 原文地址:https://www.cnblogs.com/shouke/p/13351018.html
Copyright © 2011-2022 走看看