问题标签 [django-file-upload]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
2 回答
4003 浏览

django - 在 django 表单上更新 forms.FileField

我有一个带有 FileField 的模型:

以及使用此模型的表格

当我使用表单创建新的上传时,一切正常。

但是,当我尝试更新/编辑条目时,它会更新除了上传的文档之外的所有字段。这只是与原始上传相同。

如何在编辑实例时更改上传文件?

谢谢

0 投票
2 回答
6809 浏览

python - 从一个定位文件路径Django 对象

我有一个 Django 应用程序,它提交一个包,应该返回其中的值。将表单提交到一个名为“插入”的视图:

返回文件对象,但它是一种 <InMemoryUploadedFile>。我需要的是一种获取上传文件的绝对路径的方法,这样我就可以将它提供给一个返回所需值的方法

有谁知道我怎么能做到这一点?

谢谢

0 投票
3 回答
5867 浏览

django - 在保存对象之前处理文件上传

我有一个这样的模型:

我想在保存上传的文件是 MP3 之前验证,如下所示:

一旦我确定我有一个 MP3,我想将谈话的长度保存在 seconds 属性中,如下所示:

问题是,在保存之前,上传的文件没有路径(见这张票,关闭为wontfix),所以我无法处理 MP3。

我想提出一个很好的验证错误,以便ModelForms 可以显示一个有用的错误(“你这个白痴,你没有上传 MP3”或其他东西)。

知道如何在保存文件之前访问文件吗?

ps 如果有人知道验证文件的更好方法是 MP3,我会全力以赴 - 我也希望能够处理 ID3 数据(设置艺术家、专辑、标题和可能的专辑封面,所以我需要它是可处理的通过诱变剂)。

0 投票
1 回答
11563 浏览

django - 在表单的 clean 方法期间读取文件数据

所以,我正在努力实现我之前的问题的答案。

这是我的模型:

这是我的表格:

Mutagen需要磁盘上的类似文件的对象或文件名(我认为) - 第一种情况(上传的文件大于内存中处理的文件的大小)工作正常,但我不知道如何处理InMemoryUploadedFile否则我得到. 我试过了:

诱变剂有什么问题,还是我做错了?

在拒绝回答之后

在我的课堂FILE_UPLOAD_HANDLERS上即时修改设置,如下所示:ModelAdmin

当我点击提交时,得到以下错误 500:

处理上传后,您无法设置上传处理程序。

即使我尽可能早地这样做!

另外,我不确定我是否有save关于我要返回的对象的方法(我已经查看了dir(self.files['mp3'].file)and dir(self.files['mp3']))。

0 投票
1 回答
2310 浏览

django - 如何处理上传文件的临时存储

在我的 django 应用程序中,我有一个多步骤注册,几乎没有条件参数。因此,我想在会话中存储表单中的数据。不幸的是,会话使用 pickle 序列化数据,它不支持文件序列化并导致
PicklingError: Can't pickle <type 'cStringIO.StringO'>: attribute lookup cStringIO.StringO failed. 如何解决这个问题?我应该将图像作为变量发送到所有后续视图,还是将其作为 GET 参数发送或以其他方式发送?我不确定是否需要任何示例代码,因为问题看起来很清楚。

0 投票
7 回答
33363 浏览

python - 如何将 PIL `Image` 转换为 Django`File`?

我正在尝试将 an 转换UploadedFile为 PILImage对象以对其进行缩略图,然后将Image我的缩略图函数返回的 PIL 对象转换回File对象。我怎样才能做到这一点?

0 投票
1 回答
1395 浏览

django - 用于从请求中存储文件的 Django 视图

我正在构建一个将通过桌面应用程序操作的 django 应用程序。目前的主要功能是发送/存储文件。基本上我需要一个带有 URL 的 django 视图,我可以在其上使用 POST 发送文件,这个视图将存储文件。目前我有这样的事情:

和 urlconf:

支持发送分块文件。但这不起作用。代码是否正确?我应该采取不同的方法,比如提供一个带有文件字段的模型并在这个函数中创建一个新的模型实例而不是将文件写入磁盘?

0 投票
1 回答
121 浏览

django - 如何跟踪文件已上传到服务器的位置?

请告诉我,我可以确定何时从加载的目录加载文件吗?

InMemoryUploadedFile仅包含文件名。即简单地说Foto.jpg

我想看看那里,例如:c:\windows\blablabla\Foto.jpg

还是不可能?

非常感谢你。

0 投票
2 回答
4388 浏览

django - django ImageField - 如何自定义名称+删除旧文件

我有一个带有 ImageField 的模型。我已经设置了upload_to并创建了自己的FileSystemStorage类来处理使用唯一名称保存文件......但是......

此设置允许我为每个文件上传并保存一个具有唯一名称的文件(这很好),但我还需要它来删除以前存在的文件,例如

我上传 file1.png 并将其保存为 file1_xkdeujg.png (这只是一个随机字符串)

然后我进入 django admin(使用 django 管理界面,因此需要通过模型进行)并将该字段的图像更改为 fileNEW.png

现在需要做的是:

1)它将新文件保存为fileNEW_fjewiejk.png(每次保存图像时唯一的随机字符串) -完成

2)它将新文件保存到数据库中 -完成

3) 它从文件系统中删除旧文件 - file1_xkdeuig.png -未完成

问:有人可以帮我解决第 3 点吗?

一些代码:

并且(从其他地方借用了大部分代码......):

0 投票
4 回答
5589 浏览

python - Django:在编辑模型时自定义 FileField 值

我有一个模型,带有FileField. 当我在视图中编辑此模型时,我想更改FileField在视图表单中显示的“当前”值。让我解释。

模型.py:

表格.py:

视图.py:

现在我想在我的视图中编辑这个模型。当我在浏览器中查看时,我看到表单显示为

我想更改这个“当前”值,它描述了文件在我的服务器上退出时的整个路径。我想将此字符串修剪为没有路径的文件名。我该如何做到这一点?