gpt4 book ai didi

django - 如何检查媒体文件夹中是否存在文件?

转载 作者:行者123 更新时间:2023-12-04 12:36:40 25 4
gpt4 key购买 nike

在这里,我成功上传了数据库中的文件(工作正常)。这里的问题是文件存储在数据库中,如果媒体文件夹被删除,它将引发错误 [WinError 2] The system cannot find the file specified: ...所以我的问题是我该如何处理这个错误。

如果文件在数据库中但不在媒体文件夹中,那么我想处理此错误并无错误地显示模板。我怎样才能做到这一点 ?

模板

{% for document in documents %}
<tr>
<td>{{forloop.counter}}</td>
<td>{{document.filename|truncatechars:15}}</td>
<td>{{document.file.size|filesizeformat}}</td>
<td>{{document.category}}</td>
<td>{{document.file.url}}</td>
<tr>
{% endfor %}

楷模
class Document(models.Model):
category = models.ForeignKey(DocumentCategory, on_delete=models.CASCADE)
file = models.FileField(upload_to='media/',
validators=[FileExtensionValidator(['pdf', 'xlsx', 'pptx', 'docx','xls']), file_size])
created = models.DateTimeField(auto_now_add=True)


@property
def filename(self):
return os.path.basename(self.file.name)

最佳答案

您可以使用 default_storage.exists(path) 来确定。

 from django.core.files.storage import default_storage
path = 'path/to/file'
default_storage.exists(path)

但请注意,您的路径必须在项目文件夹中。

如果文件存在于路径中,则函数返回 True 否则返回 False

并且在 Django FileFeild 中有一个路径属性获取路径。

关于django - 如何检查媒体文件夹中是否存在文件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60796432/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com