.. _topics-forms-index:
==================
Working with forms
==================
.. admonition:: About this document
This document provides an introduction to Django's form handling features.
For a more detailed look at the forms API, see :ref:`ref-forms-api`. For
documentation of the available field types, see :ref:`ref-forms-fields`.
.. highlightlang:: html+django
``django.forms`` is Django's form-handling library.
While it is possible to process form submissions just using Django's
:class:`~django.http.HttpRequest` class, using the form library takes care of a
number of common form-related tasks. Using it, you can:
1. Display an HTML form with automatically generated form widgets.
2. Check submitted data against a set of validation rules.
3. Redisplay a form in the case of validation errors.
4. Convert submitted form data to the relevant Python data types.
Overview
========
The library deals with these concepts:
.. glossary::
Widget
A class that corresponds to an HTML form widget, e.g.
```` or ``