Загрузка изображений 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>

Как я уже сказал, это приложение, которое я создал несколько месяцев назад. Поэтому буду признателен, если вы укажете мне, что я делаю неправильно, или если я упустил какую-то важную деталь, которой тоже нужно поделиться

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