Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/333.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_File Upload - Fatal编程技术网

Python 在Django中上载二进制文件并将其保存到磁盘,而无需打开文件或使用模型?

Python 在Django中上载二进制文件并将其保存到磁盘,而无需打开文件或使用模型?,python,django,file-upload,Python,Django,File Upload,关于Django的文章有几十篇,描述了如何使用表单和模型或文件流上传文件(例如图像或文本文件)。两个SO职位尤其是这方面的好例子: 第一个示例使用模型来存储文件。第二个示例打开一个文件流,并将内容逐块写入磁盘 我想做的是上传一个二进制文件(例如Excel电子表格)并将其保存到本地目录(即不在数据库中),而不使用模型,也不打开文件流。这可能吗?你能提供一个简单的例子吗 我读过Django文档中关于文件上传和存储的内容,但我只找到了依赖于模型或文件流的示例。无法将上载的文件直接保存到磁盘吗?第一

关于Django的文章有几十篇,描述了如何使用表单和模型或文件流上传文件(例如图像或文本文件)。两个SO职位尤其是这方面的好例子:

  • 第一个示例使用模型来存储文件。第二个示例打开一个文件流,并将内容逐块写入磁盘

    我想做的是上传一个二进制文件(例如Excel电子表格)并将其保存到本地目录(即不在数据库中),而不使用模型,也不打开文件流。这可能吗?你能提供一个简单的例子吗


    我读过Django文档中关于文件上传和存储的内容,但我只找到了依赖于模型或文件流的示例。无法将上载的文件直接保存到磁盘吗?

    第一个示例不将文件存储在数据库中。它将文件保存到本地存储(在
    'documents/%Y/%m/%d'
    文件夹中),并将文件名存储在数据库中。那么文件流又有什么问题呢?那么我误解了基于模型的版本到底发生了什么。如果数据库中只存储了名称,那么Django文档中肯定没有明确说明这一点。关于filestream方法,我不知道分块如何处理二进制文件;通过一个文本文件,我可以看到文本行是如何被分割成离散的部分的。但是什么是二进制文件的离散单元呢?你应该阅读清楚解释存储机制的文档。二进制块是预定义的数据字节,比文本行更容易概念化。谢谢。我是自学成才的Django,来自科学编程背景。以前没有使用过数据库,因此仍在努力掌握基础知识。此外,虽然我通常在C++程序中使用FielestRAMs,但它只适用于ASCII格式化的文件(通常是大数据表),而不是二进制的。谢谢你抽出时间给我提建议。