---
title: "Forms"
version: 1.8
locale: en
source: https://docs.djangoproject.com/en/1.8/ref/forms/
canonical: https://djangodocs.dev/en/1.8/ref/forms/
---
# Forms

Detailed form API reference. For introductory material, see the
[Working with forms](/en/1.8/topics/forms/) topic guide.

- [The Forms API](/en/1.8/ref/forms/api/)

  - [Bound and unbound forms](/en/1.8/ref/forms/api/#bound-and-unbound-forms)
  - [Using forms to validate data](/en/1.8/ref/forms/api/#using-forms-to-validate-data)
  - [Dynamic initial values](/en/1.8/ref/forms/api/#dynamic-initial-values)
  - [Checking which form data has changed](/en/1.8/ref/forms/api/#checking-which-form-data-has-changed)
  - [Accessing the fields from the form](/en/1.8/ref/forms/api/#accessing-the-fields-from-the-form)
  - [Accessing “clean” data](/en/1.8/ref/forms/api/#accessing-clean-data)
  - [Outputting forms as HTML](/en/1.8/ref/forms/api/#outputting-forms-as-html)
  - [Binding uploaded files to a form](/en/1.8/ref/forms/api/#binding-uploaded-files-to-a-form)
  - [Subclassing forms](/en/1.8/ref/forms/api/#subclassing-forms)
  - [Prefixes for forms](/en/1.8/ref/forms/api/#prefixes-for-forms)
- [Form fields](/en/1.8/ref/forms/fields/)

  - [Core field arguments](/en/1.8/ref/forms/fields/#core-field-arguments)
  - [Checking if the field data has changed](/en/1.8/ref/forms/fields/#checking-if-the-field-data-has-changed)
  - [Built-in `Field` classes](/en/1.8/ref/forms/fields/#built-in-field-classes)
  - [Slightly complex built-in `Field` classes](/en/1.8/ref/forms/fields/#slightly-complex-built-in-field-classes)
  - [Fields which handle relationships](/en/1.8/ref/forms/fields/#fields-which-handle-relationships)
  - [Creating custom fields](/en/1.8/ref/forms/fields/#creating-custom-fields)
- [Model Form Functions](/en/1.8/ref/forms/models/)
- [Formset Functions](/en/1.8/ref/forms/formsets/)
- [Widgets](/en/1.8/ref/forms/widgets/)

  - [Specifying widgets](/en/1.8/ref/forms/widgets/#specifying-widgets)
  - [Setting arguments for widgets](/en/1.8/ref/forms/widgets/#setting-arguments-for-widgets)
  - [Widgets inheriting from the Select widget](/en/1.8/ref/forms/widgets/#widgets-inheriting-from-the-select-widget)
  - [Customizing widget instances](/en/1.8/ref/forms/widgets/#customizing-widget-instances)
  - [Base Widget classes](/en/1.8/ref/forms/widgets/#base-widget-classes)
  - [Built-in widgets](/en/1.8/ref/forms/widgets/#built-in-widgets)
- [Form and field validation](/en/1.8/ref/forms/validation/)

  - [Raising `ValidationError`](/en/1.8/ref/forms/validation/#raising-validationerror)
  - [Using validation in practice](/en/1.8/ref/forms/validation/#using-validation-in-practice)
