日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

crm 一级菜单排序,二级菜单选中并且展开,非菜单权限的归属,权限粒度控制到按钮级别...

發布時間:2023/12/13 编程问答 29 豆豆
生活随笔 收集整理的這篇文章主要介紹了 crm 一级菜单排序,二级菜单选中并且展开,非菜单权限的归属,权限粒度控制到按钮级别... 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

排序

/rbac/templatetags/rbac.py

from django import template from django.conf import settings import re from collections import OrderedDict register = template.Library()@register.inclusion_tag('rbac/menu.html') def menu(request):ordered_dict=OrderedDict()menu_dict = request.session[settings.MENU_SESSION_KEY]# print(menu_dict,'111')ret=sorted(menu_dict,key=lambda x:menu_dict[x]['wight'],reverse=True)#俺排好序的 進行寫 然后按 有序字典 寫for i in ret:ordered_dict[i]=menu_dict[i]return {'menu_list': ordered_dict.values()}#返回有序字典

for item in ordered_dict.values():for i in item['children']:if re.match(r'^{}$'.format(i['url']),request.path_info):i['class']='active'

?

?二級單選中展開

?

layout.html

<script>$('.multi-menu .title').click(function () {$(this).next().removeClass('hide');$(this).parent().siblings().find('.body').addClass('hide')}) </script>

可以寫入menu.js

?

?###########

?

?

init_permission.py

?存放ssion

?

?

?

?

可以整合到一個for字典中

?

?首頁導航

?

中間件中 寫入

#路徑導航列表

request.breadcumb_list=[{'title':'首頁','url':'/index/'}] 這個只能針對首頁


存入寫title

?

?應用

rbac/templatetags/rbac.py

@register.inclusion_tag('rbac/breadcrumb.html') def breadcrumb(request):return {'breadcrumb_list':request.breadcrumb_list}

breadcrumb.html

<ol class="breadcrumb no-radius no-margin" style="border-bottom: 1px solid #ddd;">{% for i in breadcrumb_list %}{% if forloop.last %}<li class="active">{{ i.title }}</li>{% else %}<li><a href="{{ i.url }}">{{ i.title }}</a></li>{% endif %}{% endfor %}</ol>

?

權限控制到按鈕級別

?

第一種寫法

可以換成模版

在 web/templates/customer_list.html

{% extends 'layout.html' %}{% block content %}{% load rbac %}<div class="luffy-container"><div class="btn-group" style="margin: 5px 0">{# {% if 'customer_add' in request.session.permission %}#} {% if request|has_permission:'customer_add' %}<a class="btn btn-default" href="/customer/add/"><i class="fa fa-plus-square" aria-hidden="true"></i> 添加客戶</a>{% endif %}</div><table class="table table-bordered table-hover"><thead><tr><th>ID</th><th>客戶姓名</th><th>年齡</th><th>郵箱</th><th>公司</th>{% if request|has_permission:'customer_edit' or request|has_permission:'customer_del' %}<th>選項</th>{% endif %}</tr></thead><tbody>{% for row in data_list %}<tr><td>{{ row.id }}</td><td>{{ row.name }}</td><td>{{ row.age }}</td><td>{{ row.email }}</td><td>{{ row.company }}</td>{% if request|has_permission:'customer_edit' or request|has_permission:'customer_del' %}<td>{% if request|has_permission:'customer_edit' %}<a style="color: #333333;" href="/customer/edit/{{ row.id }}/"><i class="fa fa-edit" aria-hidden="true"></i></a>{% endif %}{% if request|has_permission:'customer_del' %}<a style="color: #d9534f;" href="/customer/del/{{ row.id }}/"><iclass="fa fa-trash-o"></i></a>{% endif %}</td>{% endif %}</tr>{% endfor %}</tbody></table></div> {% endblock %}

?

轉載于:https://www.cnblogs.com/zaizai1573/p/10575760.html

總結

以上是生活随笔為你收集整理的crm 一级菜单排序,二级菜单选中并且展开,非菜单权限的归属,权限粒度控制到按钮级别...的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。