首页 > 其他分享 >导航条添加被选中状态

导航条添加被选中状态

时间:2023-05-24 17:33:49浏览次数:29  
标签:menu list request 添加 选中 import 导航条 role row

方法一:在templatetags中的函数添加如下代码

 1 # from django.template import Library
 2 # from django.conf import settings
 3 # 
 4 # register = Library()
 5 # 
 6 # 
 7 # @register.inclusion_tag('menu.html')
 8 # def unicom_menu(request):
 9 #     role = request.unicom_role
10 #     menu_list = settings.UNICOM_MENU[role]
11 
12     for row in menu_list:
13         if row['url'] == request.path_info:
14             row['class'] = "active"
15         else:
16             row.pop('class', None)
17 
18     return {'menu_list': menu_list}

这种方法会导致没被选中的class值被删除

方法二:采用deepcoy方式

from django.template import Library
from django.conf import settings
import copy
register = Library()


@register.inclusion_tag('menu.html')
def unicom_menu(request):
    role = request.unicom_role
    menu_list = copy.deepcopy(settings.UNICOM_MENU[role])

    for row in menu_list:
        if row['url'] == request.path_info:
            row['class'] = "active"
        # else:
        #     row.pop('class', None)

    return {'menu_list': menu_list}

 

标签:menu,list,request,添加,选中,import,导航条,role,row
From: https://www.cnblogs.com/zhuangjoo/p/17428994.html

相关文章

  • 图片添加水印
    vardrawWaterMark={};drawWaterMark.init=function(objmsg){console.log(objmsg)varcanvas=document.createElement('canvas');varctx=canvas.getContext('2d');varimg=newImage();i......
  • Markdown标题自动添加编号
    用markdown写文档很方便,但是有个困扰的地方,就是标题的编号问题。写文档的时候,经常会在中间插入新的标题和内容,所以手动管理编号的话,如果新的标题插在前面,则要调整后面所有的编号。如果在文档完成后再手动加上编号的话,不仅容易忘记,而且有时候我们是在其他编辑器里编辑文档再导出......
  • 如何给布局或者控件添加边框
    如何给布局或者控件添加边框我在学习和开发JavaFX程序时,对Pane会有一些疑问,比如:它们的大小是怎样的?它们的大小和父节点或者窗口的关系是怎样的?相同的问题在控件上也存在,比如一个Label到底占据了多大的空间(因为默认Label没有边框展示)?我想,如果可以给布局或者控件添加......
  • centos 6上 yum检查epel源是否添加成功报错 Cannot retrieve metalink for repository
    在我们使用yum安装时,经常发现没有第三方源,此时需要安装epel(ExtraPackagesforEnterpriseLinux,企业版Linux的额外软件包)Epel是什么?它是Fedora小组维护的一个软件仓库项目,为RHEL/CentOS提供他们默认不提供的软件包。这个源兼容RHEL及像CentOS和ScientificLinux这样的衍生版本......
  • uniapp 数组添加不重复元素
    if(this.checkTimes.includes(_item.time)){this.checkTimes=this.checkTimes.filter((item)=>{returnitem!=_item.time;});}else{this.ch......
  • 3d打印机添加AI炒面检测服务 klipper+fluidd ubuntu本地部署TheSpaghttiDetective Ser
    炒面检测(TheSpaghettiDetective)介绍:炒面检测服务可以借助打印机的摄像头,检测打印是否炒面(打印失败)并作出提醒或停止打印的一种服务,该服务由服务器和客户端组成客户端支持两种: ocoprint或klipper服务器也有两种:ocobi官方提供的有限免费服务......
  • 为什么不能向下兼容呢?这是因为不同版本的 Refs 文件系统之间可能存在较大的差异,如接口
    Refs文件系统是在WindowsServer2012R2引入的,目前主要用于Windows服务器操作系统中。截至目前为止,Windows服务器操作系统中已经支持了三个版本的Refs文件系统:RefsV1:WindowsServer2012R2中引入的第一代Refs版本,该版本引入了Refs文件系统,并支持自动修复、数据......
  • Qt 的Cmake方式如何创建资源文件和添加类
    CLion(误,QTCreator)添加资源文件时选择Qt然后选择QtResourceFile单击choose,然后给你的资源文件输入一个名字比如res单击下一步,然后完成,保存这时候工程和上面添加类是一样的,看不到添加的资源文件,还是要手动到CMakeList.txt文件在里面手动输入res.qrc然后单击X关掉CMakeList......
  • springboot添加@Scheduled定时任务多线程执行
    packagecom.example.demo;importorg.springframework.boot.SpringApplication;importorg.springframework.boot.autoconfigure.EnableAutoConfiguration;importorg.springframework.boot.autoconfigure.SpringBootApplication;importorg.springframework.boot.autoc......
  • charles 选中某个请求后,下方不展示 response 小窗口
    今天使用charles抓包,选中某个请求后,发现下方只有Request窗口,并没有Response的窗口,发现需要点击Conent之后才能看到Response窗口......