title: Django REST Exceptions
body: <p>I currently have some code for a view based on the Django REST Framework.
  Ive been using a customer exception class, but ideally I want to use the inbuilt Django REST exceptions.</p>
  
  <p>From the code below I feel this probably not the best or cleanest way to utilize the REST Framework exceptions to its maximum.</p>
  
  <p>Has anyone got any good examples where they are catching issues and returning them cleanly with the REST built in exceptions ?</p>
  
  <pre><code>class JSONResponse(HttpResponse):
      def __init__(self, data, **kwargs):
         content = JSONRenderer().render(data)
         kwargs['content_type'] = 'application/json'
         super(JSONResponse, self).__init__(content, **kwargs)
  
  def queryInput(request):
      try:
          auth_token = session_id = getAuthHeader(request)
          if not auth_token:
              return JSONResponse({'detail' : "fail", "error" : "No X-Auth-Token Found", "data" : None}, status=500)
  
          if request.method:
              data = JSONParser().parse(request)
              serializer = queryInputSerializer(data=data)
  
          if request.method == 'POST':
              if serializer.is_valid():
                  input= serializer.data["input"]
                  fetchData = MainRunner(input=input,auth_token=auth_token)
                  main_data = fetchData.main()
  
              if main_data:
                  return JSONResponse({'detail' : "success", "error" : None, "data" : main_data}, status=201)
  
          return JSONResponse({'detail' : "Unknown Error","error" : True, "data" : None}, status=500)
  
      except Exception as e:
             return JSONResponse({'error' : str(e)},status=500)
  </code></pre>