Задать вопрос
@Michaelis

Как отобразить значения поля для редактирования в форме Django?

есть форма 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 %}
  • Вопрос задан
  • 133 просмотра
Подписаться 1 Простой 1 комментарий
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы