Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/eclipse/9.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中使用Nibabel_Python_Django_Nifti - Fatal编程技术网

Python 在Django中使用Nibabel

Python 在Django中使用Nibabel,python,django,nifti,Python,Django,Nifti,我正在制作一个将.nii文件转换为png(zip)的web应用程序。 我已经用python实现了主逻辑,但在将其移植到web应用程序时遇到了问题。 所以我想创建一个表单,它接受一个.nii文件并输出一个包含所有.png片段的zip文件。到目前为止,我已经写了一个简单的视图: Views.py Models.py 毫不奇怪,它不起作用,因为nibabel.load函数需要路径,而不是MemoryUploadedFile中的对象。但我不知道还能做什么 所以我通过使用不同的文件上载处理程序解决了这个问

我正在制作一个将.nii文件转换为png(zip)的web应用程序。 我已经用python实现了主逻辑,但在将其移植到web应用程序时遇到了问题。

所以我想创建一个表单,它接受一个.nii文件并输出一个包含所有.png片段的zip文件。到目前为止,我已经写了一个简单的视图:

Views.py Models.py
毫不奇怪,它不起作用,因为nibabel.load函数需要路径,而不是MemoryUploadedFile中的对象。但我不知道还能做什么

所以我通过使用不同的文件上载处理程序解决了这个问题

FILE_UPLOAD_HANDLERS = ['django.core.files.uploadhandler.TemporaryFileUploadHandler']
这有一个函数
temporary\u file\u path()
,然后我将它传递给
nibabel.load()
函数,瞧!问题解决了


参考资料:

所以我通过使用不同的文件上载处理程序解决了这个问题

FILE_UPLOAD_HANDLERS = ['django.core.files.uploadhandler.TemporaryFileUploadHandler']
这有一个函数
temporary\u file\u path()
,然后我将它传递给
nibabel.load()
函数,瞧!问题解决了


参考资料:

如果
nibabel.load
确实只对文件进行操作,您应该从客户端的帖子中检索文件数据,将其保存为临时文件,将其交给
.load
,然后删除临时文件。这是上下文管理器的一个很好的用例(
\uuuuuuuuuuuuuuuuuuuuuuuuuuuu进入
\uuuuuuuuuuuuuuu退出
)。还要检查
nibabel
模块是否有类似于
load
的方法,即获取数据而不是文件名。如果
nibabel.load
确实只处理文件,您应该从客户端的帖子中检索文件数据,将其保存为临时文件,将其交给
。load
然后删除临时文件。这是上下文管理器的一个很好的用例(
\uuuuuuuuuuuuuuuuuuuuuuuuuuuu进入
\uuuuuuuuuuuuuuu退出
)。还要检查
nibabel
模块是否具有类似于
load
的方法,该方法采用数据而不是文件名。
FILE_UPLOAD_HANDLERS = ['django.core.files.uploadhandler.TemporaryFileUploadHandler']