Почему не передаются значения
Хочу сделать редактирование товара. Но при выводе формы она выводится незаполненной. (форма как всплывающее окно выполнена)
view:
def parts(request):
added = ''
error = ''
PartAllView = Part.objects.order_by('-id')
if request.method == 'POST' and 'parts_add' in request.POST:
form = PartForm(request.POST, request.FILES)
if form.is_valid():
form.save()
added = 'Добавлено'
else:
error = 'Данная запчасть уже добавлена'
if request.method == 'POST' and 'parts_edit' in request.POST:
PartPost = int(request.POST['parts_edit'])
PartID = Part.objects.get(id=PartPost)
if PartID:
PartID.save()
added = 'Запчасть успешно отредактирована'
else:
error = 'Ошибка редактирования'
if request.method == 'POST' and 'parts_delete' in request.POST:
PartPost = int(request.POST['parts_delete'])
PartID = Part.objects.get(id=PartPost)
if PartID:
PartID.delete()
added = 'Запчасть успешно удалена'
form = PartForm()
data = {
'added': added,
'error': error,
'form': form,
'PartAllView': PartAllView,
}
return render(request, 'kross/parts.html', data)
HTML:
<form method="post" enctype="multipart/form-data">
{% csrf_token %}
<div class="modal fade" id="partEdit{{ el.id }}">
<div class="modal-dialog modal-dialog-centered text-center" role="document">
<div class="modal-content modal-content-demo">
<div class="modal-header">
<h6 class="modal-title">Добавление запчасти</h6><button aria-label="Close" class="btn-close"
data-bs-dismiss="modal"><span aria-hidden="true">×</span></button>
</div>
<!-- Форма для заполнения -->
<div class="modal-body">
<div class="row row-sm">
<div class="col-lg-6">
<div class="form-group">
{{ form.brand }}
</div>
</div>
<div class="col-lg-6">
<div class="form-group">
{{ form.number }}
</div>
</div>
<div class="col-lg-12">
<div class="form-group">
{{ form.name }}<br>
{{ form.description }}
</div>
</div>
</div>
{{ form.analog }}
<br>
<div class="form-group mb-0">
<label for="formFile" class="form-label mt-0" style="float: left;">Главное фото</label>
{{ form.images }}<br>
</div>
<div class="form-group mb-0">
<label for="formFile" class="form-label mt-0" style="float: left;">Дополнительные фото</label>
{{ form.images0 }}<br>
</div>
<div class="form-group mb-0">
<label for="formFile" class="form-label mt-0" style="float: left;"></label>
{{ form.images1 }}<br>
</div>
<div class="form-group mb-0">
<label for="formFile" class="form-label mt-0" style="float: left;"></label>
{{ form.images2 }}<br>
</div>
</div>
<div class="modal-footer">
<button type="submit" name="parts_add" class="btn btn-primary">Отредактировать</button>
<button class="btn btn-light" data-bs-dismiss="modal">Закрыть</button>
</div>
</div>
</div>
Надо было поставить input и значения из цикла
{% for el in PartAllView %}
<!-- Форма редактирование начало -->
<form method="post" enctype="multipart/form-data">
{% csrf_token %}
<div class="modal fade" id="partEdit{{ el.id }}">
<div class="modal-dialog modal-dialog-centered text-center" role="document">
<div class="modal-content modal-content-demo">
<div class="modal-header">
<h6 class="modal-title">Добавление запчасти</h6><button aria-label="Close" class="btn-close"
data-bs-dismiss="modal"><span aria-hidden="true">×</span></button>
</div>
<!-- Форма для заполнения -->
<div class="modal-body">
<div class="row row-sm">
<div class="col-lg-6">
<div class="form-group">
<input type="text" class="form-control" value="{{ el.brand }}">
</div>
</div>
<div class="col-lg-6">
<div class="form-group">
<input type="text" class="form-control" value="{{ el.number }}">
</div>
</div>
<div class="col-lg-12">
<div class="form-group">
<input type="text" class="form-control" value="{{ el.name }}"><br>
<input type="textarea" class="form-control" value="{{ el.description }}">
</div>
</div>
</div>