Создайте zip-папку и добавьте ее в хранилище django
Привет ребята мне нужно сгенерировать zip файл из кучи изображений и добавить его как файл в базу данных
Это код для генерации файла
def create_zip_folder(asin):
print('creating zip folder for asin: ' + asin)
asin_object = Asin.objects.get(asin=asin)
# create folder
output_dir = f"/tmp/{asin}"
if not os.path.exists(output_dir):
os.makedirs(output_dir)
# download images
for img in asin_object.asin_images.all():
urllib.request.urlretrieve(img.url, f"{output_dir}/{img.id}.jpg")
# zip all files in output_dir
zip_file = shutil.make_archive(asin, 'zip', output_dir)
asin_object.zip_file = zip_file
asin_object.has_zip = True
asin_object.save()
# delete folder
shutil.rmtree(output_dir)
return True
Все это работает, и я могу видеть созданные файлы в моем редакторе, но когда я пытаюсь получить доступ к ним в шаблоне asin.zip_file.url я получаю эту ошибку
SuspiciousOperation at /history/
Attempted access to '/workspace/B08MFR2DRS.zip' denied.
Почему это происходит? Я думал, что файл должен быть загружен в файловое хранилище через модель, но, очевидно, он находится в ограниченной папке, это происходит как в разработке (с локальным файловым хранилищем), так и в производстве (с s3 bucket в качестве файлового хранилища)