Получение URL после сохранения файла (без использования модели django)

Я пытаюсь получить URL файла, сохраненного сразу после его сохранения.

Обратите внимание, что я не использую Djangomodel для файла, который будет сохранен. Я сохраняю файл вручную, используя default_storage.save(), Очевидно, что с моделью было бы легко получить URL.

В настоящее время у меня есть path = default_storage.save(somefile, ContentFile(upload.file.read())) ), Я использую AWS Amazon Web Services S3. Файлы сохраняются, однако я не могу получить URL для доступа к файлу, я просто возвращаю имя файла с path, Как я могу получить URL?

Если бы это было локально, я мог бы сделать что-то вроде:

path = default_storage.save(somefile, ContentFile(upload.file.read()))
full_path = os.path.join(settings.MEDIA_ROOT, path)

чтобы получить URL / путь. Есть ли что-нибудь подобное, что я могу сделать?

1 ответ

Решение

Попробуй это

settings.py

MEDIA_ROOT = URL_BUCKET_S3  #it can be another variable different from MEDIA_ROOT

и views.py

path = default_storage.save(somefile, ContentFile(upload.file.read()))
full_path = settings.MEDIA_ROOT + path

что-то очень похожее - это то, как я работаю в своих проектах

Другие вопросы по тегам