• 面包屑路径导航


    import re
    from django.utils.deprecation import MiddlewareMixin
    from django.shortcuts import HttpResponse,redirect
    from app01.models import Permission
    
    class PermissionMiddleWare(MiddlewareMixin):
        def process_request(self,request):
            current_path = request.path
            for reg in ['/login/','/admin/']:
                ret=re.search(reg,current_path)
                if ret:
                    return None
            user_id=request.session.get('user_id')
            if not user_id:
                return redirect('/login/')
    
            permission_list=request.session.get('permission_list')
    
            request.breadcrumb = []
    
            for item in permission_list:
                reg='^%s$'%item["url"]
                ret=re.search(reg,current_path)
                if ret:
                    show_id=item["pid"] or item["id"]
                    request.show_id = show_id
                    if item["pid"]:
                        pPermission=Permission.objects.filter(pk=item["pid"]).first()
                        request.breadcrumb.extend(
                            [
                                {
                                    'title':pPermission.title,
                                    'url':pPermission.url
                                },
                                {
                                    'title': item['title'],
                                    'url': item['url']
                                }
                            ]
                        )
                    else:
                        request.breadcrumb.append(
                            {
                                'title':item['title'],
                                'url':item['url']
                            }
                        )
                    return None
            return HttpResponse('无权限访问')
    middleware.py
    <ol class="breadcrumb">
                    {% for foo in request.breadcrumb %}
                        <li><a href="{{ foo.url }}">{{ foo.title }}</a></li>/
                    {% endfor %}
    </ol>
  • 相关阅读:
    嵌入式开发杂谈
    C#连接数据库
    C软件机密解密之动态跟踪
    navicat连接mysql8报错
    tomcat 服务版本内存设置
    python2/python3 升级pi版本
    各种源文件和目录
    Day 2 : 变量、JAVA基本类型、运算符和表达式1
    猜字母游戏
    Day 1 : 行业概述、JAVA开发环境
  • 原文地址:https://www.cnblogs.com/xuqidong/p/12601799.html
Copyright © 2020-2023  润新知