我正在使用django.core.files.storage.default_storage函数保存文件,但我没有看到一个选项,我会指定现有的文件必须被覆盖。我正在寻找一些最简单,最干净的解决方案,所以我必须写我自己的函数检查文件是否存在,如果它保存前删除它?
django.core.files.storage.default_storage
v1uwarro1#
看看django-storages。它有一个覆盖存储后端,做什么你正在寻找。您只需要更新您的settings.py以使用OverwriteStorage类:
DEFAULT_FILE_STORAGE = 'storages.backends.overwrite.OverwriteStorage'
wn9m85ua2#
你可以删除文件然后保存,看看这个:
from django.core.files.storage import default_storage from django.core.files.base import ContentFile file = ContentFile("Some text", name="data.txt") path = f"/path/to/{file.name}" if default_storage.exists(path): default_storage.delete(path) default_storage.save(path, file)
2条答案
按热度按时间v1uwarro1#
看看django-storages。
它有一个覆盖存储后端,做什么你正在寻找。您只需要更新您的settings.py以使用OverwriteStorage类:
wn9m85ua2#
你可以删除文件然后保存,看看这个: