есть форма Django на основе модели. Нужно при нажатии на кнопку редактировать на сайте сделать так, чтобы в форме сразу подгружались редактируемые значения. Сама функция редактирования у меня работает, просто при нажатии на редактирование приходится заново значения вбивать, а полей у меня много, а изменить нужно например одно и неудобно это все.. через label и input работает, но данные тогда не сохраняются у меня, а если {{ form }} вместо label и input, то все работает, но поля пустые. Вот примеры кода:
forms.py
class FacultetsForm(ModelForm):
class Meta:
model = DicFacultets
fields = ['title']
labels = {'title': ('Наименование полное'), }
views.py
def facultetsedit(request, id):
dicfacultets = DicFacultets.objects.all()
disfacultetsedit = DicFacultets.objects.get(id=id)
form = FacultetsForm(request.POST or None, instance=disfacultetsedit)
if request.method == 'GET':
return render(request, 'tao/dicfacultetsedit.html', {'dicfacultets': dicfacultets,
'form': FacultetsForm(),
})
else:
try:
if form.is_valid():
disfacultetsedit = form.save(commit=False)
disfacultetsedit.save()
return redirect('dicfacultets')
except TypeError:
return render(request, 'tao/dicfacultets.html', {'dicfacultets': dicfacultets,
'error': 'Ошибка',
'form': FacultetsForm(),
})
return render(request, 'tao/dicfacultets.html', {'dicfacultets': dicfacultets, })
html
{% for group in dicgroups %}
<div class="modal fade" id="groupEditModal{{group.id}}"
tabindex="-1" aria-labelledby="exampleModalLabel"
aria-hidden="true">
<div class="modal-dialog modal-dialog-centered">
<div class="modal-content">
<div class="modal-header">
<h5 class="modal-title" id="exampleModalLabel2">Редактирование учебной группы</h5>
<button type="button" class="btn-close" data-dismiss="modal"
aria-label="Close"></button>
</div>
<div class="modal-body">
<form method="POST" action="{% url 'groupsedit' id=group.id %}">
{% csrf_token %}
<div class="mb-3">
{{ form.as_p }}
</div>
<div class="modal-footer">
<button type="button" class="btn btn-secondary" data-dismiss="modal">Отмена
</button>
<button type="submit" class="btn btn-primary">Сохранить</button>
</div>
</form>
</div>
</div>
</div>
</div>
</div>
{% endfor %}