Объектное хранилище Django не отражается в моем объектном хранилище
Я пытаюсь интегрировать Object Storage в свой проект Django, и моя текущая установка включает Django, DRF и PostgreSQL. В частности, я пытаюсь обработать загрузку изображения из конечной точки API и сохранить его в Object Storage.
class Announcement(models.Model):
image = models.ImageField(upload_to='media/')
Теперь, когда я пытаюсь получить доступ к конечной точке API для этой операции. Изображение хранится где-то в моем base_dir/media.
и вот мое бото3\ хранилище
AWS_ACCESS_KEY_ID = os.environ.get('DO_SPACES_KEY')
AWS_SECRET_ACCESS_KEY = os.environ.get('DO_SPACES_SECRET')
AWS_STORAGE_BUCKET_NAME = os.environ.get('DO_SPACES_BUCKET')
AWS_S3_ENDPOINT_URL = os.environ.get('DO_SPACES_ENDPOINT')
AWS_S3_OBJECT_PARAMETERS = {
'CacheControl': 'max-age=86400',
}
AWS_LOCATION = 'media'
STATICFILES_DIRS = [
os.path.join(BASE_DIR, 'static'),
]
STATIC_URL = 'https://%s/%s/' % (AWS_S3_ENDPOINT_URL, 'static')
MEDIA_URL = 'https://%s/%s/' % (AWS_S3_ENDPOINT_URL, AWS_LOCATION)
STATICFILES_STORAGE = 'storages.backends.s3boto3.S3Boto3Storage'
Я попытался изменить настройки, но безуспешно. Я также проверил учетные данные, медиафайлы и значения времени выполнения данных.
Я также проверил базу данных postgresql, которая содержит то, что кажется URL-адресом изображения в моем хранилище объектов.
На самом деле вам нужно изменить способ реализации ваших модели, преобразовав ее в двоичную.
так, что его:
class Announcements(models.Model):
image = model.BinaryField()
таким образом, вы можете хранить его напрямую