Загрузка изображений AWS с помощью Python/Django не работает
Я начинающий пользователь Python/Django. Несколько месяцев назад я развернул приложение с функцией загрузки изображений, которая связана с AWS S3 buckets. Когда я запускаю сервер локально на своей машине, приложение работает нормально. Однако я развернул приложение на Heroku, и загрузка изображений перестала работать, в консоли нет ошибок, а само изображение даже не загружается в ведро AWS.
Вот мои взгляды на загрузку изображений:
def add_photo(request, team_id):
photo_file = request.FILES.get('photo-file', None)
if photo_file:
s3 = boto3.client('s3')
key = uuid.uuid4().hex[:6] + photo_file.name[photo_file.name.rfind('.'):]
try:
s3.upload_fileobj(photo_file, BUCKET, key)
url = f"{S3_BASE_URL}{BUCKET}/{key}"
photo = Photo(url=url, team_id = team_id)
photo.save()
except Exception as e :
print('An error occured uploading files to s3')
print(e)
return redirect('teams_detail', team_id = team_id)
это шаблон для загрузки :
{% for photo in team.photo_set.all %}
<img src="{{photo.url}}" alt="{{photo.url}}" class="responsive-img card-panel">
{% empty %}
<div class="card-panel teal-text center-align">No Photos Uploaded</div>
{% endfor %}
<form class="card-panel" action="{% url 'add_photo' team.id %}" method="POST" enctype="multipart/form-data">
{% csrf_token %}
<input type="file" name="photo-file">
<br>
<br>
<input type="submit" class="btn" value="Upload Photo">
</form>
Как я уже сказал, это приложение, которое я создал несколько месяцев назад. Поэтому буду признателен, если вы укажете мне, что я делаю неправильно, или если я упустил какую-то важную деталь, которой тоже нужно поделиться