Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/346.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 django有没有办法不保存随表单上传的文件_Python_Django - Fatal编程技术网

Python django有没有办法不保存随表单上传的文件

Python django有没有办法不保存随表单上传的文件,python,django,Python,Django,我有django表单,用户可以在其中附加文件,但是我正在从文件本身提取pdf表单数据,所以我不想保存文件 但当我保存表单时,文件会自动保存。有没有办法阻止保存该文件 谢谢当文件上载到您的服务器时,django会根据您指定的文件上载处理程序处理上载的文件。默认情况下,它们是:- ("django.core.files.uploadhandler.MemoryFileUploadHandler", "django.core.files.uploadhandler.TemporaryFileUplo

我有django表单,用户可以在其中附加文件,但是我正在从文件本身提取pdf表单数据,所以我不想保存文件

但当我保存表单时,文件会自动保存。有没有办法阻止保存该文件


谢谢

当文件上载到您的服务器时,django会根据您指定的
文件上载处理程序
处理上载的文件。默认情况下,它们是:-

("django.core.files.uploadhandler.MemoryFileUploadHandler",
 "django.core.files.uploadhandler.TemporaryFileUploadHandler",)
这意味着在调用
form.save()
(其中
form
对象包含上载的文件)之前,文件对象一直在服务器内存中。调用后,文件对象将根据您在该文件字段的
upload\u to
属性中指定的内容写入文件系统

我要做的是,在不调用
form.save()
的情况下,将此文件对象分配给一个变量,以防止将上载的文件写入文件系统。像这样:-

uploaded_file = request.FILES['file']
form = MyModelFormWithFileField(request.POST, None)
我们不能故意分配
请求.file
,如下所示:-

uploaded_file = request.FILES['file']
form = MyModelFormWithFileField(request.POST, None)
由于您已经分配了
上传的\u文件
变量,现在您可以对其执行任何操作,而无需将其写入文件系统

由于您的
表单
实例没有分配
请求.file
表单.save()
将不会将表单数据写入文件系统