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.
669 sections in Django 5.1 Search all versions →
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 GeoDjango Forms API Form widgets
OpenLayersWidget classOpenLayersWidget[source] : This is the default widget used by all GeoDjango form fields. template_name is gis/openlayers.html. OSMWidget classOSMWidget[source] : This widget uses an OpenStreetMap base layer to display geographic objects on. Attributes are:
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.
Reference Widgets
Whenever you specify a field on a form, Django will use a default widget that is appropriate to the type of data that is to be displayed.
Reference Built-in template tags and filters Built-in tag referenceif
All of the above can be combined to form complex expressions. For such expressions, it can be important to know how the operators are grouped when the expression is evaluated - that is, the precedence rules.
Topic guide Formsets
Sometimes your form class takes custom parameters, like MyArticleForm. You can pass this parameter when instantiating the formset: The form_kwargs may also depend on the specific form instance. The formset base class provides a get_form_kwargs method.
Topic guide Working with forms More about Django Form classesMore on fields
Whatever the data submitted with a form, once it has been successfully validated by calling is_valid() (and is_valid() has returned True), the validated form data will be in the form.cleaned_data dictionary.
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.
Reference The Forms API
If you need to access some additional information about a form field in a template and using a subclass of Field isn’t sufficient, consider also customizing BoundField.
Reference Model field reference Field options
Field.help_text Extra “help” text to be displayed with the form widget. It’s useful for documentation even if your field isn’t used on a form. Note that this value is not HTML-escaped in automatically-generated forms.