Python 在上传之前在本地进行一些处理
我是Django的新手,正在做一个小项目,用户可以登录到Django支持的网站,然后上传一些图片。在远程服务使用这些图像之前,需要对其进行一些预处理。我想做的是在客户端执行预处理,我有一些python代码可以完成它。但是,我不确定如何设置Django,以便用户可以授予它在本地运行某些代码(并在临时目录中生成一些文件)的权限 例如,我的一个观点如下:Python 在上传之前在本地进行一些处理,python,django,permissions,django-views,Python,Django,Permissions,Django Views,我是Django的新手,正在做一个小项目,用户可以登录到Django支持的网站,然后上传一些图片。在远程服务使用这些图像之前,需要对其进行一些预处理。我想做的是在客户端执行预处理,我有一些python代码可以完成它。但是,我不确定如何设置Django,以便用户可以授予它在本地运行某些代码(并在临时目录中生成一些文件)的权限 例如,我的一个观点如下: class UploadImageView(APIView): permission_classes = (IsAuthenticated,
class UploadImageView(APIView):
permission_classes = (IsAuthenticated, )
authentication_classes = (JSONWebTokenAuthentication, )
# Create your views here.
def post(self, request):
image = request.FILES['image']
study = int(request.data.get('study').strip())
if image is None:
return Response(status=status.HTTP_400_BAD_REQUEST)
# Check study ID and Image type exists
s = StudyModel.objects.filter(pk=study).first()
if s is None:
return Response(status=status.HTTP_412_PRECONDITION_FAILED)
try:
_ = ImageModel.objects.create(path=image, study=s)
except:
return Response(status=status.HTTP_417_EXPECTATION_FAILED)
return Response(status=status.HTTP_200_OK)
现在,用户需要在本地手动运行一些代码来生成这个转换后的图像,然后调用RESTAPI来上传它。最好是用户选择原始图像,一些代码在本地对其进行转换,然后上载转换后的图像。这不是您可以做的事情。Django代码在服务器上运行。您可以在本地运行的唯一代码是浏览器中的Javascript。在Java小程序的帮助下,这种事情在过去是很有可能的。事实上,我构建了第一个这样做的小程序。它可以动态调整图像大小或在更新之前压缩任何文件,但我离题了。现在浏览器中不广泛支持小程序
您可以选择使用几个javascript文件上传器之一,这些上传器允许将图像加载到画布中。有关如何使用画布,请参见此。这说明了如何将图像加载到画布中。好的,我想我必须创建一些与Django应用程序通信的桌面应用程序。。。。