Создайте 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 в качестве файлового хранилища)

Вернуться на верх