当前位置: 首页 > news >正文

网站建设自主开发的三种方式做网站的猫腻

网站建设自主开发的三种方式,做网站的猫腻,软件定制系统,建筑之家多级权限菜单设计级标题栏 我们现在只有数据展示,要进入其他url还需要手动的输入路径,非常的麻烦,所以我们要设计 一个导航栏以及侧边多级菜单栏,这个展示是通过stark组件的设计的增删改查页面,而 每一个 页面我们都需要有导航栏和侧边的权限菜单栏,所以把这个公共的部分提起到…多级权限菜单设计级标题栏   我们现在只有数据展示,要进入其他url还需要手动的输入路径,非常的麻烦,所以我们要设计 一个导航栏以及侧边多级菜单栏,这个展示是通过stark组件的设计的增删改查页面,而 每一个 页面我们都需要有导航栏和侧边的权限菜单栏,所以把这个公共的部分提起到一个网页,让增删改 继承这个页面就可以了.   base.html(这要是自己的样式以及设计盒子让其他网页进行继承) {% load staticfiles %} !DOCTYPE html html langen headmeta charsetUTF-8titleCRM/titlelink relshortcut icon href/static /imgs/luffy-study-logo.pnglink relstylesheet href/static/bootstrap/css/bootstrap.css/link relstylesheet href/static/font-awesome/css/font-awesome.css/link relstylesheet href/static/css/commons.css/link relstylesheet href/static/css/nav.css/script src/static/js/jquery-3.3.1.min.js/scriptstyle.pg-body .left-menu {background-color: #F3F3F3;position: absolute;left: 1px;top: 60px;bottom: 0;width: 220px;overflow: auto;}.pg-body .right-body {position: absolute;left: 225px;right: 0;top: 60px;bottom: 0;overflow: scroll;border-top: 0;font-size: 13px;min-width: 755px;padding: 20px;}.dropdown-menu {top: 118%;left: -108px;}a:hover{text-decoration: none!important;}/style{% block css %}{% endblock %}/head bodydiv classpg-headerdiv classnavdiv classlogo-area lefta href#img classlogo src{% static imgs/logo.svg %}span stylefont-size: 18px;CRM /span/a/divdiv classleft-menu lefta classmenu-item资产管理/aa classmenu-item用户信息/aa classmenu-item权限管理/adiv classmenu-itemspan使用说明/spani classfa fa-caret-down aria-hiddentrue/idiv classmore-infoa href# classmore-item666/aa href# classmore-item888/a/div/div/divdiv classright-menu right clearfix!-- Single button --div classbtn-group user-info rightimg classdropdown-toggle data-toggledropdown aria-haspopuptrue aria-expandedfalse width50 height50 classimg-circle src{% static imgs/default.jpg %}ul classdropdown-menu smalllia href# classmore-item{{request.user.name}}个人信息/a/lilia href/logout/ classmore-item注销/a/lilia href/home/修改密码/a/lilia href/home/更换头像/a/li/ul/diva classuser-menu righti classfa fa-user aria-hiddentrue/ispan{{ request.user }}/span/aa classuser-menu right消息i classfa fa-commenting-o aria-hiddentrue/ispan classbadge bg-success2/span/aa classuser-menu right通知i classfa fa-envelope-o aria-hiddentrue/ispan classbadge bg-success2/span/aa classuser-menu right任务i classfa fa-bell-o aria-hiddentrue/ispan classbadge bg-danger4/span/a/div/div /divdiv classpg-body{# 左侧栏 #}div classleft-menu{% block side_bar %}{# 自定义标签 #}{% load rbac %}{% get_menu_list request %}{% endblock side_bar %}/div{# 右侧栏数据体 #}div classright-body{% block content %}{% endblock content %}/div /div{% block js %}{% endblock %} /body /html     让页面继承了相应的盒子之后,我么就会得到如下样式      那怎么把我们的多级菜单权限展现在右边呢?   这里需要要到一个新的语法(关于自定义模板标签)   建立如下文件夹      rbac.py from django import template from ..models import Permission register template.Library()register.inclusion_tag(rbac/menu.html) def get_menu(request):print(OK...)permission_list request.session.get(permission_list) #获取权限列表menu_list []for per in permission_list:if per.get(type) menu: #如果是菜单列表加入列表,返回列表和menu.html渲染menu_list.append(per)return {default_data: default_data}   menu.html div idtreeview classsmall/divscript src/static/bootstrap-treeview/js/bootstrap-treeview.js/script script typetext/javascript// API文档参数列表: https://www.cnblogs.com/tangzeqi/p/8021637.html$(function() {var options {data:{{ default_data|safe }} , //data属性是必须的是一个对象数组 Array of Objects.color: , //所有节点使用的默认前景色这个颜色会被节点数据上的backColor属性覆盖. StringbackColor: #000000, //所有节点使用的默认背景色这个颜色会被节点数据上的backColor属性覆盖. StringborderColor: #000000, //边框颜色。如果不想要可见的边框则可以设置showBorder为false。 StringnodeIcon: glyphicon glyphicon-stop, //所有节点的默认图标checkedIcon: glyphicon glyphicon-check, //节点被选中时显示的图标 StringcollapseIcon: glyphicon glyphicon-minus, //节点被折叠时显示的图标 StringexpandIcon: glyphicon glyphicon-plus, //节点展开时显示的图标 StringemptyIcon: glyphicon, //当节点没有子节点的时候显示的图标 StringenableLinks: false, //是否将节点文本呈现为超链接。前提是在每个节点基础上必须在数据结构中提供href值。 BooleanhighlightSearchResults: true, //是否高亮显示被选中的节点 Booleanlevels: 2, //设置整棵树的层级数 IntegermultiSelect: false, //是否可以同时选择多个节点 BooleanonhoverColor: #F5F5F5, //光标停在节点上激活的默认背景色 StringselectedIcon: glyphicon glyphicon-stop, //节点被选中时显示的图标 StringsearchResultBackColor: , //当节点被选中时的背景色searchResultColor: , //当节点被选中时的前景色selectedBackColor: , //当节点被选中时的背景色selectedColor: #FFFFFF, //当节点被选中时的前景色showBorder: true, //是否在节点周围显示边框showCheckbox: false, //是否在节点上显示复选框showIcon: true, //是否显示节点图标showTags: false, //是否显示每个节点右侧的标记。前提是这个标记必须在每个节点基础上提供数据结构中的值。uncheckedIcon: glyphicon glyphicon-unchecked, //未选中的复选框时显示的图标可以与showCheckbox一起使用};$(#treeview).treeview({color: #4F4F4F,expandIcon: glyphicon glyphicon-chevron-right,collapseIcon: glyphicon glyphicon-chevron-down,nodeIcon: glyphicon glyphicon-bookmark,enableLinks: true,levels: 1,showIcon:false,selectedBackColor: ,selectedColor: #333,data: {{ default_data|safe }},});$(#treeview).on(nodeSelected,function(event, data) {console.log(data);})}); /script   然后在base里面调用这个自定义标签    {# 左侧栏 #}div classleft-menu{% block side_bar %}自定义标签{% load rbac %}{% get_menu_list request %}{% endblock side_bar %}/div     整个流程:   那如何把数据动态的添加到侧边栏呢?我们需要修改代码  rbac.py register.inclusion_tag(rbac/menu.html) def get_menu_list(request):permission_list request.session.get(permission_list)permission_dic {}for per_dic in permission_list:if per_dic[type] button:continue # 过滤掉button权限,我们只要菜单权限new_per_dic {} # 对菜单权限的数据按照treeview的数据结构构建新的字典new_per_dic[text] per_dic[title]new_per_dic[href] per_dic[url]new_per_dic[nodes] []new_per_dic[parent_id] per_dic[parent_id]permission_dic[per_dic.get(id)] new_per_dic # 以自己的权限主键为键,以新构建的字典为值,构造新的字典print(, permission_dic)permission_tree_list [] # 整个数据大列表for per_id, per_dic in permission_dic.items():pid per_dic.get(parent_id) # 取每一个字典中的父idif not pid: # 没有父id(最高权限),就直接加入数据大列表permission_tree_list.append(per_dic)else: # 有父id就加入父id队对应的那个的node(一个列表)permission_dic[pid][nodes].append(per_dic)# 展开节点current_path request.pathif current_path per_dic.get(href):pid per_dic.get(parent_id)per_dic[emptyIcon]while pid:permission_dic[pid][state] {expanded: True}pid permission_dic[pid][parent_id]return {permission_tree_list: json.dumps(permission_tree_list)} #前端不需要反序列化,bootstrap treeview会帮你做    我们会得到如下页面:   转载于:https://www.cnblogs.com/tjp40922/p/10311183.html
http://www.zqtcl.cn/news/711739/

相关文章:

  • 电子商务网站建设百度文库工业设计公司招聘
  • 网站seo测评餐厅设计公司餐厅设计
  • 深圳网站seo推广wordpress swf 上传
  • 织梦做双语网站怎么做制作网站的教程
  • 公司网站开发的国内外研究现状个人网页设计大全
  • 做一个网站人员网站建设及推广优化
  • 胶州市城乡建设局网站能进封禁网站的浏览器
  • 网站做几级等保荣耀商城手机官网
  • 营销网站费用渭南网站建设公司
  • wordpress主题集成插件下载网站如何做360优化
  • 有什么在线做文档的网站网站开发需要用到哪些技术
  • 网站套餐可以分摊吗吗移动登录网页模板免费下载
  • asp网站会员注册不了但是打不开网页
  • wordpress 中文网店杭州排名优化公司
  • wordpress建站安全吗wordpress企业主题教程
  • 网站构建的开发费用信息管理系统网站开发教程
  • 自己做网站怎么维护wordpress素材模板
  • 如何选择一个好的优质网站建设公司wordpress 主题小工具
  • mysql数据库做网站广州网站seo地址
  • 福建省住房和城乡建设厅网站电话网站开发项目步骤
  • 网站注册域名多少钱淘宝网商城
  • 做架构图的网站网站和网店的区别
  • 做红包网站简单个人网站设计
  • 新手学做网站pdf手wordpress修改搜索框
  • 做湲兔费网站视颍如何通过查询网站注册时间
  • 重庆cms建站模板南通网站建设推广优化
  • 合肥网站建设的公司新闻类网站如何做量化统计
  • 好用的在线地图网站十六局集团门户网
  • 网站开发数据库连接失败广州网站建站平台
  • 鄂尔多斯北京网站建设加盟网站建设的内容