Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/django/22.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 在上传之前在本地进行一些处理_Python_Django_Permissions_Django Views - Fatal编程技术网

Python 在上传之前在本地进行一些处理

Python 在上传之前在本地进行一些处理,python,django,permissions,django-views,Python,Django,Permissions,Django Views,我是Django的新手,正在做一个小项目,用户可以登录到Django支持的网站,然后上传一些图片。在远程服务使用这些图像之前,需要对其进行一些预处理。我想做的是在客户端执行预处理,我有一些python代码可以完成它。但是,我不确定如何设置Django,以便用户可以授予它在本地运行某些代码(并在临时目录中生成一些文件)的权限 例如,我的一个观点如下: class UploadImageView(APIView): permission_classes = (IsAuthenticated,

我是Django的新手,正在做一个小项目,用户可以登录到Django支持的网站,然后上传一些图片。在远程服务使用这些图像之前,需要对其进行一些预处理。我想做的是在客户端执行预处理,我有一些python代码可以完成它。但是,我不确定如何设置Django,以便用户可以授予它在本地运行某些代码(并在临时目录中生成一些文件)的权限

例如,我的一个观点如下:

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应用程序通信的桌面应用程序。。。。