def task_details(request, pk): try: task = Task.objects.get(pk=pk) except Task.DoesNotExist: return HttpResponse(status=404) provider = create_by_request(request) if request.method == 'GET': return provider.task_detail_get({'task': task}) elif request.method == 'PUT': obj = provider.task_detail_put() if obj.is_valid(): task.title = obj.object.title task.fileUrl = obj.object.fileUrl task.save() return provider.task_details_put_ok() else: return provider.task_details_put_error(obj.errors) elif request.method == 'DELETE': DownloadManager.delete_task(task) return HttpResponse(status=204)