{"title":"Forms","version":"2.1","locale":"el","docname":"ref/forms/index","url":"/el/2.1/ref/forms/","canonical":"https://djangodocs.dev/el/2.1/ref/forms/","summary":"Detailed form API reference. For introductory material, see the Working with forms topic guide. The Forms API Bound and unbound forms Using forms to validate data…","html":"<h1>Forms<a class=\"heading-anchor\" href=\"#forms\"><span class=\"visually-hidden\">Link to this heading</span><span aria-hidden=\"true\">#</span></a></h1>\n<p>Detailed form API reference. For introductory material, see the\n<a class=\"reference internal\" href=\"/el/2.1/topics/forms/\"><span class=\"doc\">Working with forms</span></a> topic guide.</p>\n<div class=\"toctree-wrapper compound\">\n<ul>\n<li class=\"toctree-l1\"><a class=\"reference internal\" href=\"/el/2.1/ref/forms/api/\">The Forms API</a><ul>\n<li class=\"toctree-l2\"><a class=\"reference internal\" href=\"/el/2.1/ref/forms/api/#bound-and-unbound-forms\">Bound and unbound forms</a></li>\n<li class=\"toctree-l2\"><a class=\"reference internal\" href=\"/el/2.1/ref/forms/api/#using-forms-to-validate-data\">Using forms to validate data</a></li>\n<li class=\"toctree-l2\"><a class=\"reference internal\" href=\"/el/2.1/ref/forms/api/#dynamic-initial-values\">Dynamic initial values</a></li>\n<li class=\"toctree-l2\"><a class=\"reference internal\" href=\"/el/2.1/ref/forms/api/#checking-which-form-data-has-changed\">Checking which form data has changed</a></li>\n<li class=\"toctree-l2\"><a class=\"reference internal\" href=\"/el/2.1/ref/forms/api/#accessing-the-fields-from-the-form\">Accessing the fields from the form</a></li>\n<li class=\"toctree-l2\"><a class=\"reference internal\" href=\"/el/2.1/ref/forms/api/#accessing-clean-data\">Accessing «clean» data</a></li>\n<li class=\"toctree-l2\"><a class=\"reference internal\" href=\"/el/2.1/ref/forms/api/#outputting-forms-as-html\">Outputting forms as HTML</a></li>\n<li class=\"toctree-l2\"><a class=\"reference internal\" href=\"/el/2.1/ref/forms/api/#more-granular-output\">More granular output</a></li>\n<li class=\"toctree-l2\"><a class=\"reference internal\" href=\"/el/2.1/ref/forms/api/#customizing-boundfield\">Customizing <code class=\"docutils literal notranslate\"><span class=\"pre\">BoundField</span></code></a></li>\n<li class=\"toctree-l2\"><a class=\"reference internal\" href=\"/el/2.1/ref/forms/api/#binding-uploaded-files-to-a-form\">Binding uploaded files to a form</a></li>\n<li class=\"toctree-l2\"><a class=\"reference internal\" href=\"/el/2.1/ref/forms/api/#subclassing-forms\">Subclassing forms</a></li>\n<li class=\"toctree-l2\"><a class=\"reference internal\" href=\"/el/2.1/ref/forms/api/#prefixes-for-forms\">Prefixes for forms</a></li>\n</ul>\n</li>\n<li class=\"toctree-l1\"><a class=\"reference internal\" href=\"/el/2.1/ref/forms/fields/\">Form fields</a><ul>\n<li class=\"toctree-l2\"><a class=\"reference internal\" href=\"/el/2.1/ref/forms/fields/#core-field-arguments\">Core field arguments</a></li>\n<li class=\"toctree-l2\"><a class=\"reference internal\" href=\"/el/2.1/ref/forms/fields/#checking-if-the-field-data-has-changed\">Checking if the field data has changed</a></li>\n<li class=\"toctree-l2\"><a class=\"reference internal\" href=\"/el/2.1/ref/forms/fields/#built-in-field-classes\">Built-in <code class=\"docutils literal notranslate\"><span class=\"pre\">Field</span></code> classes</a></li>\n<li class=\"toctree-l2\"><a class=\"reference internal\" href=\"/el/2.1/ref/forms/fields/#slightly-complex-built-in-field-classes\">Slightly complex built-in <code class=\"docutils literal notranslate\"><span class=\"pre\">Field</span></code> classes</a></li>\n<li class=\"toctree-l2\"><a class=\"reference internal\" href=\"/el/2.1/ref/forms/fields/#fields-which-handle-relationships\">Fields which handle relationships</a></li>\n<li class=\"toctree-l2\"><a class=\"reference internal\" href=\"/el/2.1/ref/forms/fields/#creating-custom-fields\">Creating custom fields</a></li>\n</ul>\n</li>\n<li class=\"toctree-l1\"><a class=\"reference internal\" href=\"/el/2.1/ref/forms/models/\">Model Form Functions</a><ul>\n<li class=\"toctree-l2\"><a class=\"reference internal\" href=\"/el/2.1/ref/forms/models/#modelform-factory\"><code class=\"docutils literal notranslate\"><span class=\"pre\">modelform_factory</span></code></a></li>\n<li class=\"toctree-l2\"><a class=\"reference internal\" href=\"/el/2.1/ref/forms/models/#modelformset-factory\"><code class=\"docutils literal notranslate\"><span class=\"pre\">modelformset_factory</span></code></a></li>\n<li class=\"toctree-l2\"><a class=\"reference internal\" href=\"/el/2.1/ref/forms/models/#inlineformset-factory\"><code class=\"docutils literal notranslate\"><span class=\"pre\">inlineformset_factory</span></code></a></li>\n</ul>\n</li>\n<li class=\"toctree-l1\"><a class=\"reference internal\" href=\"/el/2.1/ref/forms/formsets/\">Formset Functions</a><ul>\n<li class=\"toctree-l2\"><a class=\"reference internal\" href=\"/el/2.1/ref/forms/formsets/#formset-factory\"><code class=\"docutils literal notranslate\"><span class=\"pre\">formset_factory</span></code></a></li>\n</ul>\n</li>\n<li class=\"toctree-l1\"><a class=\"reference internal\" href=\"/el/2.1/ref/forms/renderers/\">The form rendering API</a><ul>\n<li class=\"toctree-l2\"><a class=\"reference internal\" href=\"/el/2.1/ref/forms/renderers/#the-low-level-render-api\">The low-level render API</a></li>\n<li class=\"toctree-l2\"><a class=\"reference internal\" href=\"/el/2.1/ref/forms/renderers/#built-in-template-form-renderers\">Built-in-template form renderers</a></li>\n<li class=\"toctree-l2\"><a class=\"reference internal\" href=\"/el/2.1/ref/forms/renderers/#context-available-in-widget-templates\">Context available in widget templates</a></li>\n<li class=\"toctree-l2\"><a class=\"reference internal\" href=\"/el/2.1/ref/forms/renderers/#overriding-built-in-widget-templates\">Overriding built-in widget templates</a></li>\n</ul>\n</li>\n<li class=\"toctree-l1\"><a class=\"reference internal\" href=\"/el/2.1/ref/forms/widgets/\">Widgets</a><ul>\n<li class=\"toctree-l2\"><a class=\"reference internal\" href=\"/el/2.1/ref/forms/widgets/#specifying-widgets\">Specifying widgets</a></li>\n<li class=\"toctree-l2\"><a class=\"reference internal\" href=\"/el/2.1/ref/forms/widgets/#setting-arguments-for-widgets\">Setting arguments for widgets</a></li>\n<li class=\"toctree-l2\"><a class=\"reference internal\" href=\"/el/2.1/ref/forms/widgets/#widgets-inheriting-from-the-select-widget\">Widgets inheriting from the <code class=\"docutils literal notranslate\"><span class=\"pre\">Select</span></code> widget</a></li>\n<li class=\"toctree-l2\"><a class=\"reference internal\" href=\"/el/2.1/ref/forms/widgets/#customizing-widget-instances\">Customizing widget instances</a></li>\n<li class=\"toctree-l2\"><a class=\"reference internal\" href=\"/el/2.1/ref/forms/widgets/#base-widget-classes\">Base widget classes</a></li>\n<li class=\"toctree-l2\"><a class=\"reference internal\" href=\"/el/2.1/ref/forms/widgets/#built-in-widgets\">Built-in widgets</a></li>\n</ul>\n</li>\n<li class=\"toctree-l1\"><a class=\"reference internal\" href=\"/el/2.1/ref/forms/validation/\">Form and field validation</a><ul>\n<li class=\"toctree-l2\"><a class=\"reference internal\" href=\"/el/2.1/ref/forms/validation/#raising-validationerror\">Raising <code class=\"docutils literal notranslate\"><span class=\"pre\">ValidationError</span></code></a></li>\n<li class=\"toctree-l2\"><a class=\"reference internal\" href=\"/el/2.1/ref/forms/validation/#using-validation-in-practice\">Using validation in practice</a></li>\n</ul>\n</li>\n</ul>\n</div>","rootId":"forms","toc":[],"breadcrumbs":[{"docname":"ref/index","title":"API Reference","url":"/el/2.1/ref/"}],"prev":{"docname":"ref/files/uploads","title":"Uploaded Files and Upload Handlers","url":"/el/2.1/ref/files/uploads/"},"next":{"docname":"ref/forms/api","title":"The Forms API","url":"/el/2.1/ref/forms/api/"},"formats":{"html":"/el/2.1/ref/forms/","markdown":"/el/2.1/ref/forms.md","json":"/el/2.1/ref/forms.json"},"source":"https://github.com/django/django/blob/stable/2.1.x/docs/ref/forms/index.txt","official":"https://docs.djangoproject.com/el/2.1/ref/forms/","inVersions":["6.1","6.0","5.2","5.1","5.0","4.2","4.1","4.0","3.2","3.1","3.0","2.2","2.1","2.0","1.11","1.10"],"inLocales":["en","zh-hans","fr","ja","id","pt-br","ko","es","el","pl"]}