Tengo una pregunta, el código de mi colaborador funciona bien, muestra algunas imágenes que fueron subidas previamente a través de una entrada a través de un modal. El problema es que quiero mostrar las imágenes en una vista detallada. Lo modifiqué y solo puedo mostrar uno de los 10 que fueron subidos. ¿Cómo puedo mostrar los 10? No tengo idea de cómo manejar ese JSON que usó.
vistas.py
class detail_carro(DetailView): template_name = 'carros/carros-detail.html' queryset=Carro.objects.all() context_object_name = 'carros' def create_carros_picture(request): if request.FILES['files']: file = request.FILES['files'] fs = FileSystemStorage() # defaults to MEDIA_ROOT new_name = "picture" new_name = fs.get_valid_name(new_name)+".jpg" filename = fs.save(new_name, file) return JsonResponse({filename:file.name},safe=False) else: form=CarroForm() return render(request, "carros/carros-form-add.html",{'form':form}) def create_carros_warranty(request): if request.FILES['files']: file = request.FILES['files'] fs = FileSystemStorage() # defaults to MEDIA_ROOT ext = file.name.split('.')[-1] new_name = "warranty" new_name = fs.get_valid_name(new_name) + '.' + ext filename = fs.save(new_name, file) return JsonResponse({filename: file.name}, safe=False) else: form = CarroForm() return render(request, "carros/carros-form-add.html", {'form': form})carros-detalle.html
{% if carros.new_name %} <a data-id="{{carros.id}}" class="btn_view_gallery"> <img src="{% get_media_prefix %}{{carros.new_name}}" height="300"> </a> {% endif %}El DetailView se usa para mostrar solo una única instancia de modelo, creo que Carro en su caso.
Para mostrar todas las instancias del modelo, use el ListView genérico.
https://docs.djangoproject.com/en/4.0/ref/class-based-views/generic-display/#listview
views.py
class CarroListView(ListView): template_name = 'carros/carros-list.html' queryset=Carro.objects.all() context_object_name = 'carros' carros/carros-list.html
{% for carro in carros %} <a data-id="{{carros.id}}" class="btn_view_gallery"> <img src="{% get_media_prefix %}{{carros.new_name}}" height="300"> </a> {% endfor %}