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

     

     

    运行结果

     

     

     

     
  • 相关阅读:
    VS code 快捷键注释不能用[!----]解决办法
    vue 文件导出demo
    vue中后台返回的是数字,前端利用字典将其转换为相对应的中文
    java.lang.UnsupportedOperationException解决方法【转】
    Java List的remove()方法陷阱
    密码至少包含数字、大小写字母、特殊字符两种以上,长度不小于8位
    获取规格内数字
    获取时间段数据
    Echarts GL初次体验
    bootstrap-datetimepicker 如何获取值(日期)
  • 原文地址:https://www.cnblogs.com/shouke/p/13351018.html
Copyright © 2011-2022 走看看