Каково назначение формы в django?
В django: request.POST--1-->corresponding_SQL--2-->database .
И мы используем form = ModelForm(requst.POST).save()
для сохранения формы в базе данных.
Форма имеет хорошо продуманный "конструктор", который принимает значение и ключ из queryDict(request.POST) и преобразует их в данные внутри экземпляра формы по одному. Я полагаю, что этот объект 'Form' является своего рода агентом, который может быть легко сохранен в базе данных (как описано выше) и может быть выведен в HTML с помощью form.as_p()
.
Actually I wonder why we don't put all the functions of a form into the model itself, I think that is more intuitive than create a new class called "form". We could just use model.save() or model.is_valid() or model.as_p(), emmm why bother to design a new class called form?
А в документации django doc, role of the form
на самом деле:
creating HTML forms for the data (as_p)
receiving and processing submitted forms and data from the client(obj = form(request.POST) obj.save())
Но я полагаю, что не должно быть слишком сложно поместить эти функции в саму модель.
Я должен сказать, что это связано с общим дизайном фреймворка, форма - это объект, и она имеет непосредственное отношение к тегу в HTML.
Недавно я прочитал о том, что model.Model является частью django ORM, которая принимает участие в отображении данных из формы и в форму из request.POST, что имеет больше смысла для меня, нам нужен объект формы, чтобы разделить различные функциональные возможности в django.