django - 如何为 django model.FileField 生成唯一的文件名

标签 django django-models django-forms

我正在做一个 django/python 项目。 该项目使用包含 FileField 的模型。 该模型由网络表单提供。一切正常:如果已存在同名文件,Django 会自动重命名该文件。

我有第二个模型,它也包含一个 FileField。但是这个文件不是通过网络表单上传的。此文件内容由 python 程序在文件上生成。我想要做的是在插入时提供一个文件名。我希望 Django/Python 自动重命名,因为它没有 Web 表单。 我该怎么办?

谢谢。

最佳答案

我认为这个答案中解释了最简单的方法:

https://stackoverflow.com/a/10501355/3848720

您可以像上面的答案一样将文件名称为通用唯一标识符 (UUID)。或者您可以将 UUID 附加到现有名称上,如下所示:

import uuid

filename = '%s%s' % (existing_filename, uuid.uuid4())

关于django - 如何为 django model.FileField 生成唯一的文件名,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40530073/

相关文章:

django - 如何向django添加多个图像

python - Django ORM 和 Unicode 数据

python - 属性错误 : 'bool' object has no attribute

Django admin : prevent add, 更改,但不删除

django - 在 Django 应用程序中排除被阻止用户提出的问题的最有效方法

django - 在 Django 的管理界面中添加换行符和标题

Django和crispy form,如何在crispy Layout中添加id和name

python - Django 表单验证 : making "required" conditional?

javascript - Django-Ajax(Jquery)删除功能问题

带有少量 url 参数的 Django DetailView