Topic guide Working with forms Building a formBuilding a form in Django
Form data sent back to a Django website is processed by a view, generally the same view which published the form. This allows us to reuse some of the same logic.
698 sections in Django 5.2 Search all versions →
Topic guide Working with forms Building a formBuilding a form in Django
Form data sent back to a Django website is processed by a view, generally the same view which published the form. This allows us to reuse some of the same logic.
Topic guide Working with forms More about Django Form classesMore on fields
Each form field has a corresponding Widget class, which in turn corresponds to an HTML form widget such as <input type="text">. In most cases, the field will have a sensible default widget.
Topic guide Creating forms from models ModelForm
The generated Form class will have a form field for every model field specified, in the order specified in the fields attribute. Each model field has a corresponding default form field.
Topic guide Creating forms from models ModelForm
The generated Form class will have a form field for every model field specified, in the order specified in the fields attribute. Each model field has a corresponding default form field.
Reference Editing mixins
classdjango.views.generic.edit.ModelFormMixin : A form mixin that provides facilities for working with a ModelForm, rather than a standalone form.
Reference The Django admin site ModelAdmin objectsModelAdmin methods
ModelAdmin.add_view(request,form_url='',extra_context=None)[source] : Django view for the model instance addition page. See note below. ModelAdmin.change_view(request,object_id,form_url='',extra_context=None)[source] : Django view for the model instance editing page. See note below. ModelAdmin.changelist_view(request,extra_context=None)[source] : Django view for the model instances change list/actions page. See note below.
Reference
GeoDjango provides some specialized form fields and widgets in order to visually display and edit geolocalized data on a map. By default, they use OpenLayers-powered maps, with a base WMS layer provided by NASA.
Reference GeoDjango Forms API
In addition to the regular form field arguments, GeoDjango form fields take the following optional arguments.
Reference The Forms API Outputting forms as HTML
The recommended approach for changing form output style is to set a custom form template either site-wide, per-form, or per-instance. See Reusable form templates for examples.
Reference The Forms API
If you have multiple Form classes that share fields, you can use subclassing to remove redundancy.
Topic guide Customizing authentication in Django Substituting a custom User model
class UserChangeForm(forms.ModelForm): """A form for updating users. Includes all the fields on the user, but replaces the password field with admin's disabled password hash display field.
Topic guide Introduction to class-based views
Mixins are a form of multiple inheritance where behaviors and attributes of multiple parent classes can be combined. For example, in the generic class-based views there is a mixin called TemplateResponseMixin whose primary purpose is to define the method render_to_response().
Topic guide Working with forms More about Django Form classes
Consider a more useful form than our minimal example above, which we could use to implement “contact me” functionality on a personal website: forms.py Our earlier form used a single field, your_name, a CharField.
Topic guide File Uploads
Consider a form containing a FileField: forms.py A view handling this form will receive the file data in request.FILES, which is a dictionary containing a key for each FileField (or ImageField, or other FileField subclass) in the form.
Reference System check framework Core system checks
models.E001: <swappable> is not of the form app_label.app_name. models.E002: <SETTING> references <model>, which has not been installed, or is abstract. models.E003: The model has two identical many-to-many relations through the intermediate model <app_label>.<model>.
Reference GeoDjango Database API Spatial Lookups
Geographic queries with geometries take the following general form (assuming the Zipcode model used in the GeoDjango Model API): For example: In this case, poly is the geographic field, contains is the spatial lookup type, pnt is the parameter (which …
Reference GeoDjango Forms API Form widgets
GeoDjango widgets are template-based, so their attributes are mostly different from other Django widget attributes. BaseGeometryWidget.geom_type : The OpenGIS geometry type, generally set by the form field. BaseGeometryWidget.map_srid : SRID code used by the map (default is 4326).
Reference The Forms API Using forms to validate data
It’s meaningless to validate a form with no data, but, for the record, here’s what happens with unbound forms:
Reference The Forms API
The second task of a Form object is to render itself as HTML. To do so, print it: If the form is bound to data, the HTML output will include that data appropriately.
Reference The Forms API Outputting forms as HTML
The default rendering when you print a form uses the following methods and attributes.