Search code examples
djangopermissions

My user has permissions but does not have access to pages in django app


My user has for example the following permissions: add_client, view_client, delete_client, change_client of the Client model
print(user.request.user_permissions.all()) gives <Permission: elec_meter | client | Can add client>, <Permission: elec_meter | client | Can customer change>...
When I add the @permissions_required decorator as follows:

@permission_required("client.add_client",login_url="/login")
def add_client(request):
    ...

@permission_required("client.view_client",login_url="/login")
    def view_client(request):
        ...

The user cannot open the pages and is redirected to the login page (/login)
user.has_perm("client.add_client") and user.has_perm("client.view_client") return False
How to solve this problem ?


Solution

  • The permission names would be different like this:

    @permission_required("elec_meter.add_client", login_url="/login")
    @permission_required("elec_meter.view_client",login_url="/login")