Как сделать цикл по папкам 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, затем имя папки, затем в конце, в итерации для каждого изображения. Надеюсь, это имеет смысл!