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

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>

 

版权声明:本文为zhongbokun原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://www.cnblogs.com/zhongbokun/p/8533849.html