Ошибка 400 при загрузке фикстур на aws s3 для django
У меня есть проект django с aws s3, используемый для хранения изображений, которые есть на сайте.
На сайте пользователи могут загружать свои собственные изображения, и это прекрасно работает. Когда я добавляю экземпляр модели с jpg, файл загружается в aws и может быть просмотрен в панели администратора.
Проблема в том, что я также использовал фикстуры для загрузки предварительно определенных объектов с изображениями, но всякий раз, когда я взаимодействую с предварительно загруженными фикстурами в базе данных, я получаю ошибку 400.
Скриншот базы данных Первый объект с именем "Test" был добавлен вручную, а все остальные объекты ниже этого были добавлены из приспособления. Test открывается нормально, но все остальные объекты выдают ошибку 400.
Я попробовал изменить регион в aws bucket, но это не помогло.
Вот пример пары светильников
{
"model": "transfer.Workout",
"fields":{
"title": "Lat Pull Downs",
"notes": "dont move your back at all, pull towards chest, retract shoulder blades as you go down, let elbows go straight down",
"sets": "5",
"demonstration": "/demonstrations/back&bicep/back/latpulldowns.gif",
"muscle": "back"
}
},
{
"model": "transfer.Workout",
"fields":{
"title": "Cable Rows",
"notes": "keep shoulder neutral, pull towards abs, pull shoulder blades back, exhale as you pull weight in",
"sets": "5",
"demonstration": "/demonstrations/back&bicep/back/cablerows.gif",
"muscle": "back"
}
},
Вот фотография ведра aws
Настройки:
INSTALLED_APPS = [
'transfer.apps.TransferConfig',
'django.contrib.admin',
'django.contrib.auth',
'django.contrib.contenttypes',
'django.contrib.sessions',
'django.contrib.messages',
'django.contrib.staticfiles',
'storages'
]
# AWS S3 Settings
AWS_ACCESS_KEY_ID = (insert key id here)
AWS_SECRET_ACCESS_KEY = (insert access key here)
AWS_STORAGE_BUCKET_NAME = 'workout-s3-bucket'
AWS_S3_CUSTOM_DOMAIN = f'{AWS_STORAGE_BUCKET_NAME}.s3.amazonaws.com'
AWS_DEFAULT_ACL = 'public-read'
AWS_S3_OBJECT_PARAMETERS = {
'CacheControl': 'max-age=86400'
}
AWS_LOCATION = 'static'
AWS_QUERYSTRING_AUTH = False
AWS_HEADERS = {
'Access-Control-Allow-Origin': '*',
}
DEFAULT_FILE_STORAGE = 'storages.backends.s3boto3.S3Boto3Storage'
STATICFILES_STORAGE = 'storages.backends.s3boto3.S3StaticStorage'
STATIC_ROOT = os.path.join(BASE_DIR, 'transfer', 'static', 'travser')
STATIC_URL = f'https://{AWS_S3_CUSTOM_DOMAIN}/static/'
MEDIA_ROOT = os.path.join(BASE_DIR, 'media')
MEDIA_URL = f'https://{AWS_S3_CUSTOM_DOMAIN}/media/'
Спасибо, извините, если я не дал достаточно информации.