Как сделать цикл по папкам S3 Media в Django?

Для контекста, моя папка медиа AWS S3 состоит из вложенных папок. Каждая из них содержит только изображения для рекламы.

В локальном режиме я могу перебирать каждое изображение в папке и выводить его на рекламную страницу, однако я не могу заставить это работать в продакшене.

Соответствующий вид, отображающий местоположение, выглядит следующим образом:

def carmodel(request, carmodel_id):
carmodel = get_object_or_404(CarModel, id=carmodel_id)
folder_name = carmodel.title.replace(" ", '%20')
image_folder = os.listdir('media/'+carmodel.title)

return render(request, 'vehicles/vehicle.html', 
              {"carmodel": carmodel, "image_folder":image_folder, 
              "folder_name":folder_name})

Каждая папка названа с использованием названия carmodels. А в файле vehicles.html я перебираю их следующим образом.

        {% for image in image_folder %}
          <img src="/media/{{ folder_name }}/{{ image }}" class="slider-thumbnail">
        {% endfor %}

Я знаю, что os.listdir из переменной image_folder в carmodel view не работает в production. Но я застрял, пытаясь понять, как это исправить.

В конечном итоге я пытаюсь построить медиа url, используя MEDIA_URL, затем имя папки, затем в конце, в итерации для каждого изображения. Надеюсь, это имеет смысл!

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