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

运行结果

 

Django template层之json报文遍历总结的更多相关文章

  1. Django——模板层(template)(模板语法、自定义模板过滤器及标签、模板继承)

    前言:当我们想在页面上给客户端返回一个当前时间,一些初学者可能会很自然的想到用占位符,字符串拼接来达到我们想要的效果,但是这样做会有一个问题,HTML被直接硬编码在 Python代码之中. 1 2 3 ...

  2. Django.template框架 template context (非常详细)

    前面的章节我们看到如何在视图中返回HTML,但是HTML是硬编码在Python代码中的 这会导致几个问题: 1,显然,任何页面的改动会牵扯到Python代码的改动 网站的设计改动会比Python代码改 ...

  3. django——模板层

    每一个Web框架都需要一种很便利的方法用于动态生成HTML页面. 最常见的做法是使用模板. 模板包含所需HTML页面的静态部分,以及一些特殊的模版语法,用于将动态内容插入静态部分. 说白了,模板层就是 ...

  4. Django模板层

    一:模板简介 二:模板语法值变量 三: 模板之过滤器 四: 模板之标签 五:自定义标签和过滤器   一:模板简介 def current_datetime(request): now=datetime ...

  5. Django 视图层和模板层

    目录 一.网站首页和404页面的路由配置 1. 网站首页路由 2. 404页面 二.Django视图层 1. 小白必会三板斧 (1)HttpResponse (2)render (3)redirect ...

  6. Django - - - -视图层之视图函数(views)

    视图层之视图函数(views) 一个视图函数,简称视图,是一个简单的Python 函数,它接受Web请求并且返回Web响应.响应可以是一张网页的HTML内容,一个重定向,一个404错误,一个XML文档 ...

  7. Django模型层(2)

    <!DOCTYPE html><html lang="zh-cn"><head><meta charset="utf-8&quo ...

  8. {django模型层(二)多表操作}一 创建模型 二 添加表记录 三 基于对象的跨表查询 四 基于双下划线的跨表查询 五 聚合查询、分组查询、F查询和Q查询

    Django基础五之django模型层(二)多表操作 本节目录 一 创建模型 二 添加表记录 三 基于对象的跨表查询 四 基于双下划线的跨表查询 五 聚合查询.分组查询.F查询和Q查询 六 xxx 七 ...

  9. Django - 模型层 - 上

    一.ORM简介 MVC或者MVC框架中包括一个重要的部分,就是ORM,它实现了数据模型与数据库的解耦,即数据模型的设计不需要依赖于特定的数据库,通过简单的配置就可以轻松更换数据库,这极大的减轻了开发人 ...

  10. Django模板层之templates

    一 模版简介 你可能已经注意到我们在例子视图中返回文本的方式有点特别. 也就是说,HTML被直接硬编码在 Python代码之中. def current_datetime(request): now ...

随机推荐

  1. 在唯一密钥属性“name”设置为“XXX”时,无法添加类型为“add”的重复集合项

    我是在调试时,更改了项目url出现的问题,没有改端口号,只是改了"/"后面的地址 这个是我是改哈端口号就好了,改了端口号就重新建立虚拟目录了. 感觉是因为端口号没变,但项目url变 ...

  2. 研二学妹面试字节,竟倒在了ThreadLocal上,这是不要应届生还是不要女生啊?

    一.写在开头     今天和一个之前研二的学妹聊天,聊及她上周面试字节的情况,着实感受到了Java后端现在找工作的压力啊,记得在18,19年的时候,研究生计算机专业的学生,背背八股文找个Java开发工 ...

  3. FFMPEG 信息查询

    一.问题描述 最近测试反馈一个隐私模式的问题,主播端启用隐私模式之后,在观看端发现画面转菊花并且还有回跳的现象 二.问题分析: 从网上下载了直播的视频文件,进行了一下分析,发现视频长度和音频长度不匹配 ...

  4. 安装、学习protobuf

    Protobuf是什么? 类似于json的一种数据格式,独立于语言,而且是二进制方式,所以比json更快,而且还可以直接存储一些图.树 序列化和反序列化 持久化(存到磁盘硬盘)领域中,数据存到磁盘叫序 ...

  5. 2024-06-05:用go语言,给定三个正整数 n、x 和 y, 描述一个城市中由 n 个房屋和 n 条街道连接的情况。 城市中存在一条额外的街道连接房屋 x 和房屋 y。 需要计算对于每个街道数(

    2024-06-05:用go语言,给定三个正整数 n.x 和 y, 描述一个城市中由 n 个房屋和 n 条街道连接的情况. 城市中存在一条额外的街道连接房屋 x 和房屋 y. 需要计算对于每个街道数( ...

  6. kvm链接克隆虚拟机迁移到openstack机器的实验

    总结 如果是完整克隆的那种虚拟机,是可以直接在openstack使用的,如果镜像格式没问题的话. 因为kvm虚拟机大部分都是链接克隆出来的镜像,不可用直接复制使用,所以需要创建新的镜像文件 创建空盘: ...

  7. C#.NET 逐行读取TXT文本

    C#.NET 逐行读取TXT文本 using System; using System.IO; class Program { static void Main() { string filePath ...

  8. window.onload()函数和jQuery中的document.ready()有什么区别?

    a.执行时间:window.onload必须等到页面内包括图片的所有元素加载完毕后才能执行.$(document).ready()是DOM结构绘制      完毕后就执行,不必等到加载完毕.$(doc ...

  9. Mysql中innodb的B+tree能存储多少数据?

    引言 InnoDB一棵3层B+树可以存放多少行数据?这个问题的简单回答是:约2千万.为什么是这么多呢?因为这是可以算出来的,要搞清楚这个问题,我们先从InnoDB索引数据结构.数据组织方式说起. 在计 ...

  10. caddy 服务器的 Docker 镜像构建流程

    构建一个包含 Caddy 服务器的 Docker 镜像,关键部分: https://github.com/caddyserver/caddy-docker/blob/master/Dockerfile ...