      Allows access only to authenticated users.
      """
  
      def has_permission(self, request, view):
          return request.user and is_authenticated(request.user)
  
  
  class IsAdminUser(BasePermission):
      """
      Allows access only to admin users.
 
</s> remove             is_authenticated(request.user)
 </s> add             request.user.is_authenticated </s> remove         return template_render(template, context)
 </s> add         return template.render(context) </s> remove            not is_authenticated(request.user) and self.authenticated_users_only):
 </s> add            not request.user.is_authenticated and self.authenticated_users_only): </s> remove         if is_authenticated(request.user):
 </s> add         if request.user.is_authenticated: </s> remove         return template_render(template, context)
 </s> add         return template.render(context)
        return request.user and request.user.is_authenticated
      Allows access only to authenticated users.
      """
  
      def has_permission(self, request, view):
        return request.user and request.user.is_authenticated
  
  
  class IsAdminUser(BasePermission):
      """
      Allows access only to admin users.
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