djangodocs.org

689 sections across all versions Narrow to Django 6.0 (current) →

as_div()

Reference The Forms API Outputting forms as HTMLOutput styles

Form.template_name_div The template used by as_div(). Default: 'django/forms/div.html'. Form.as_div() as_div() renders the form as a series of <div> elements, with each <div> containing one field, such as: … gives HTML like:

as_p()

Reference The Forms API Outputting forms as HTMLOutput styles

Form.template_name_p The template used by as_p(). Default: 'django/forms/p.html'. Form.as_p() as_p() renders the form as a series of <p> tags, with each <p> containing one field: … gives HTML like:

as_ul()

Reference The Forms API Outputting forms as HTMLOutput styles

Form.template_name_ul The template used by as_ul(). Default: 'django/forms/ul.html'. Form.as_ul() as_ul() renders the form as a series of <li> tags, with each <li> containing one field.

as_table()

Reference The Forms API Outputting forms as HTMLOutput styles

Form.template_name_table The template used by as_table(). Default: 'django/forms/table.html'. Form.as_table() as_table() renders the form as an HTML <table>: … gives HTML like:

Customizing BoundField

Reference The Forms API

Form.bound_field_class New in Django 5.2. Define a custom BoundField class to use when rendering the form. This takes precedence over the project-level BaseRenderer.bound_field_class (along with a custom FORM_RENDERER), but can be overridden by the field-level Field.bound_field_class.

5.2 6.0 dev

Reference The Forms API Binding uploaded files to a form

Form.is_multipart() If you’re writing reusable views or templates, you may not know ahead of time whether your form is a multipart form or not.

Prefixes for forms

Reference The Forms API

Form.prefix You can put several Django forms inside one <form> tag. To give each Form its own namespace, use the prefix keyword argument: The prefix can also be specified on the form class:

formset_factory

Reference Formset Functions

formset_factory(form,formset=BaseFormSet,extra=1,can_order=False,can_delete=False,max_num=None,validate_max=False,min_num=None,validate_min=False,absolute_max=None,can_delete_extra=True,renderer=None)[source] : Returns a FormSet class for the given form class.

The view

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.

Widgets

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.

Field types

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.

5.2 6.0 dev

Field types

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.

4.2 5.0 5.1

Assertions

Topic guide Testing tools Test cases features

SimpleTestCase.assertFormSetError(formset,form_index,field,errors,msg_prefix='')[source] : Asserts that the formset raises the provided list of errors when rendered. SimpleTestCase.assertContains(response,text,count=None,status_code=200,msg_prefix='',html=False)[source] : Asserts that a response produced the given status_code and that text appears in its content.

ModelFormMixin

Reference Editing mixins

classdjango.views.generic.edit.ModelFormMixin : A form mixin that provides facilities for working with a ModelForm, rather than a standalone form.

Other methods

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.

GeoDjango Forms API

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.

Field arguments

Reference GeoDjango Forms API

In addition to the regular form field arguments, GeoDjango form fields take the following optional arguments.

Output styles

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.

Subclassing forms

Reference The Forms API

If you have multiple Form classes that share fields, you can use subclassing to remove redundancy.

Using mixins

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().