zoukankan      html  css  js  c++  java
  • 权限管理——页面封装操作

    权限管理——页面封装操作

    1.不封装:

      

    <body>
    {% if "add" in request.permisstion_code_list %}
        <a href="">添加</a>
    {% endif %}
        <table>
            {% for foo in data_list %}
                <tr>
                    <td>{{ foo.id }}</td>
                    <td>{{ foo.name }}</td>
                    {% if 'del' in request.permisstion_code_list %}
                        <td><a href="">删除</a></td>
                    {% endif %}
                    {% if 'edit' in request.permisstion_code_list %}
                        <td><a href="">编辑</a></td>
                    {% endif %}
                </tr>
            {% endfor %}
            
        </table>
    </body>
    def userinfo(request):
        print(request.permisstion_code_list)
        data_list = [
            {'id':1,'name':'xxx1'},
            {'id':2,'name':'xxx2'},
            {'id':3,'name':'xxx3'},
            {'id':4,'name':'xxx4'},
            {'id':5,'name':'xxx5'},
        ]
        return render(request,'userinfo.html',{'data_list':data_list})

    2.封装

    class BasePagePermission(object):
        def __init__(self,code_list):
            self.code_list = code_list
        
        def has_add(self):
            if "add" in self.code_list:
                return  True
        
        def has_edit(self):
            if "edit" in self.code_list:
                return True
            
        def has_del(self):
            if 'del' in self.code_list:
                return True
    
    def userinfo(request):
        print(request.permission_code_list)
        # return HttpResponse('用户列表页面')
        page_permission= BasePagePermission(request.permission_code_list)
        data_list = [
            {'id':1 , 'name':'xxx1'},
            {'id':2 , 'name':'xxx2'},
            {'id':3 , 'name':'xxx3'},
            {'id':4 , 'name':'xxx4'},
            {'id':5 , 'name':'xxx5'},
    
        ]
        return render(request,'userinfo.html',{'data_list':data_list,'page_permission':page_permission})


    def userinfo_add(request):
    page_permission = BasePagePermission(request.permisstion_code_list)
    return HttpResponse('添加用户页面')


    class OrderPagePermission(BasePagePermission):
    def has_report(self):
    if 'report' in self.code_list:
    return True


    def order(request):
    order_permission = OrderPagePermission(request.permisstion_code_list)
        {% if page_permission.has_add %}
                    <a href="#">添加</a>
                {% endif %}
                <table>
                        {% for row in data_list %}
                            <tr>
                                <td>{{ row.id }}</td>
                                <td>{{ row.name }}</td>
                                 {% if  page_permission.has_edit %}
                                <td><a href="#">编辑</a></td>
                                {% endif %}
                                {% if  page_permission.has_del %}
                                <td><a href="#">删除</a></td>
                                {% endif %}
                            </tr>
                    {% endfor %}
    
                </table>
  • 相关阅读:
    SQLAlchemy使用merge
    Flask 处理文件 file
    PostgreSQL 常用命令
    Elasticsearch 常用命令
    Python3 encode中的unicode-escape和raw_unicode_escape
    Python 字符串16进制转换为字符串
    利用 Redis 实现接口频次限制
    Flask-Limiter 接口访问频次限制
    博客内容管理(2)-「解决方案」分类的内容设定和编写位置
    踩坑 | u盘 | u盘插入电脑无法识别打开
  • 原文地址:https://www.cnblogs.com/zhongbokun/p/8533849.html
Copyright © 2011-2022 走看看