zoukankan      html  css  js  c++  java
  • 14-crm项目-kingadmin,动态url菜单优化

    点击客户库,就要调整到对应的页面客户表,怎么实现?

    这个跳转的逻辑是怎么样的?

    第一点:前端有include的用法,就是把另一个页面的内容包含到这个页面,但是这里用include是不行的,

    因为不是单纯静态的东西,客户表有很多的变量,没有找到变量就会报错,

    第二点:点击这个页面的时候,使用ajax跳转到对应的页面,

    但是这个也不行,会导致查询功能有问题,

    第三点:我们配置菜单的时候,都有对应的url别名,把这个配置成为动态的,加一个类型,

    /king_admin/crm/customer/

    class Menu(models.Model):
        '''菜单'''
        name = models.CharField(max_length=32)
        url_type_choices = ((0, 'alias'), (1, 'absolute_url'))
        url_type = models.SmallIntegerField(choices=url_type_choices, default=0)
        url_name = models.CharField(max_length=64)
    
        def __str__(self):
            return self.name
    
        class Meta:
            verbose_name_plural = '菜单栏'

    把url从相对的改为绝对的,customer_list  -----改为/king_admin/crm/customer/

    这样直接就去访问这个url了,

    前端做一个判断;

            {% for  role in request.user.roles.all %}
              {% for menu in role.menus.all %}
                <li class=""><a href="{% if menu.url_type == 0 %}{%  url  menu.url_name %} {% else %}{{ menu.url_name }}{% endif %}">{{ menu.name }}</a></li>
              {% endfor %}
            {% endfor %}

     

  • 相关阅读:
    数据结构与算法之并查集的精简要点总结
    Python/C++ API使用指南 (Python & C++ 混编)
    Visual Studio 动态链接库(dll)文件使用
    C++ 之 多态(虚函数与虚继承)
    Map与Set关于迭代
    Mybatis配置解析
    mybatis入门
    数据结构与算法概念回顾
    利用commons工具包实现文件上传
    JavaWeb开发中的分层思想(一)
  • 原文地址:https://www.cnblogs.com/andy0816/p/13724892.html
Copyright © 2011-2022 走看看