  
  from django.http import Http404
  
  from rest_framework import exceptions
  from rest_framework.compat import is_authenticated
  
  SAFE_METHODS = ('GET', 'HEAD', 'OPTIONS')
  
  
  class BasePermission(object):
 
</s> remove from django.template import Template, TemplateDoesNotExist
 </s> add from django.template import TemplateDoesNotExist, engines </s> remove from rest_framework.compat import is_authenticated
 </s> add  </s> remove from rest_framework.compat import is_authenticated
 </s> add  </s> remove     BaseAuthentication, BasicAuthentication, RemoteUserAuthentication, SessionAuthentication,
    TokenAuthentication)
 </s> add     BaseAuthentication, BasicAuthentication, RemoteUserAuthentication,
    SessionAuthentication, TokenAuthentication
) </s> remove from rest_framework.compat import set_many
 </s> add 
  
  from django.http import Http404
  
  from rest_framework import exceptions

  
  SAFE_METHODS = ('GET', 'HEAD', 'OPTIONS')
  
  
  class BasePermission(object):
keep keep keep keep replace keep keep keep keep keep
 Remove Django 1.8 & 1.9 compatibility code (#5481)

* Identify code that needs to be pulled out of/removed from compat.py

* Extract modern code from get_names_and_managers in compat.py and remove compat code

* Extract modern code from is_authenticated() in compat.py and remove.

* Extract modern code from is_anonymous() in compat.py and remove

* Extract modern code from get_related_model() from compat.py and remove

* Extract modern code from value_from_object() in compat.py and remove

* Update postgres compat

JSONField now always available.

* Remove DecimalValidator compat

* Remove get_remote_field compat

* Remove template_render compat

Plus isort.

* Remove set_many compat

* Remove include compat 
rest_framework/permissions.py