Django template层之json报文遍历总结

简介: Django template层之json报文遍历总结

Django template层之json报文遍历总结


 

测试环境

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

 

 

运行结果

 

 

 

 


目录
相关文章
|
6月前
|
JSON Java 数据格式
json转换大全 1.8遍历
json转换大全 1.8遍历
|
6月前
|
JSON JavaScript 数据格式
【深入探究C++ JSON库】解析JSON元素的层级管理与遍历手段
【深入探究C++ JSON库】解析JSON元素的层级管理与遍历手段
926 2
|
6月前
|
JSON 前端开发 数据库
怎么处理多层Json数据循环遍历的问题?看这里
怎么处理多层Json数据循环遍历的问题?看这里
55 0
|
JSON JavaScript 数据格式
js遍历json的key并打印
js遍历json的key并打印
246 0
|
JSON 数据库 数据格式
[Python]Django 视图(View)和URL 与 模板(Template)
[Python]Django 视图(View)和URL 与 模板(Template)
|
JSON JavaScript API
Vue2.x-01点击按钮弹出子Vue组件,遍历JSON展示数据
Vue2.x-01点击按钮弹出子Vue组件,遍历JSON展示数据
247 0
|
JSON 数据格式 Python
django drf 案例--实现url编码和json和dict格式转化小工具(涉及定义模型类,序列化器,类视图,路由),接口测试
django drf 案例--实现url编码和json和dict格式转化小工具(涉及定义模型类,序列化器,类视图,路由),接口测试
|
前端开发 JavaScript 数据库
Django框架开发005期 Python调用template模板网页开发调用静态资源
Django框架开发005期 Python调用template模板网页开发调用静态资源
107 0
|
Python
Django框架开发004期 Python编程调用自定义Django框架template模板网页
Django框架开发004期 Python编程调用自定义Django框架template模板网页
127 0
|
数据采集 XML JSON
如何使用Python对嵌套结构的JSON进行遍历获取链接并下载文件
JSON(JavaScript Object Notation)是一种基于JavaScript语言的轻量级数据交换格式,它用键值对的方式来表示各种数据类型,包括字符串、数字、布尔值、空值、数组和对象,本文展示如何使用Python对嵌套结构的JSON进行遍历获取链接并下载文件。
261 0
如何使用Python对嵌套结构的JSON进行遍历获取链接并下载文件