Types of forms
Django is designed to simplify a great deal of work involved when handling forms. It does this by providing ways to render your form object as HTML and process data on form submission. There are a lot of different ways to use and work with form objects but they all start with a form class. Django provides two different classes for us to use, ModelForm
and Form
. The differences between the two are that one links directly to the tables in a database and the other does not. The ModelForm
class, the one that links to a database, will automatically create fields and perform field validation based on the field constraints set within that model class, from the database level.
Form classes also use a Meta
subclass, as was used on a model class in Chapter 3, Models, Relations, and Inheritance. There are other form classes that Django provides, such as BaseForm
and BaseModelForm
, which are used to write abstract base form classes, but these form classes are beyond the scope...