Как я могу показать мои изображения через JsonResponse в представлении Django?
У меня вопрос, код моего соавтора работает хорошо, он показывает некоторые изображения, которые были ранее загружены через вход через модальное окно. Проблема в том, что я хочу отобразить изображения в подробном представлении. Я изменил его и могу показать только одно из 10 загруженных изображений. Как я могу показать все 10? Я понятия не имею, как работать с JSON, который он использовал
views.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-detail.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 %}
DetailView
используется для показа только одного экземпляра модели, Carro
в вашем случае, я думаю.
Чтобы показать все экземпляры модели, используйте общий ListView
.
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 %}