Django--CRM--菜单排序等

时间:2019-03-21
本文章向大家介绍Django--CRM--菜单排序等,主要包括Django--CRM--菜单排序等使用实例、应用技巧、基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋友可以参考一下。

一 . 菜单排序

  1.我们想把菜单排序.首先给菜单加上权重,权重大的排在上面, 这就要在菜单表上加上一个权重字段.

  

  2. 我们在菜单表里面把权重改一下

  

  3. 需要把权重字段的信息拿出来放到session中去

  4. 在自定义过滤器里面进行排序  然后其他的不用改就会显示成排序后的菜单

from django import template
from django.conf import settings
from collections import OrderedDict

register = template.Library()

@register.inclusion_tag('menu.html')
def my_menu(request):
    url = request.path
    # 二级菜单
    menu_dict = request.session[settings.MENU_SESSION_KEY]  # 不能在这循环,需要模板里面循环
    # 按照添加的顺序进行展示 有序字典
    ordered_dict = OrderedDict()
    # ret是按照权重排完序的key
    ret = sorted(menu_dict, key=lambda x: menu_dict[x]['weight'], reverse=True)
    for i in ret:
        ordered_dict[i] = menu_dict[i]
    return {'menu_list': ordered_dict.values()}