{"title":"Widgets","version":"6.0","locale":"sv","docname":"ref/forms/widgets","url":"/sv/6.0/ref/forms/widgets/","canonical":"https://djangodocs.dev/sv/6.0/ref/forms/widgets/","summary":"En widget är Djangos representation av ett HTML-inmatningselement. Widgeten hanterar rendering av HTML och extrahering av data från en GET/POST-ordbok som motsvarar…","html":"<span id=\"widgets\"></span><h1>Widgets<a class=\"heading-anchor\" href=\"#module-django.forms.widgets\"><span class=\"visually-hidden\">Link to this heading</span><span aria-hidden=\"true\">#</span></a></h1>\n<p>En widget är Djangos representation av ett HTML-inmatningselement. Widgeten hanterar rendering av HTML och extrahering av data från en GET/POST-ordbok som motsvarar widgeten.</p>\n<p>Den HTML som genereras av de inbyggda widgetarna använder HTML5-syntax och riktar sig till <code class=\"docutils literal notranslate\"><span class=\"pre\">&lt;!DOCTYPE</span> <span class=\"pre\">html&gt;</span></code>. Exempelvis används booleska attribut som <code class=\"docutils literal notranslate\"><span class=\"pre\">checked</span></code> i stället för XHTML-stilen <code class=\"docutils literal notranslate\"><span class=\"pre\">checked='checked'</span></code>.</p>\n<aside class=\"admonition admonition-tip\">\n<p class=\"admonition-title\">Tips</p>\n<p>Widgets ska inte förväxlas med <a class=\"reference internal\" href=\"/sv/6.0/ref/forms/fields/\"><span class=\"doc\">formulärsfält</span></a>. Formulärfält hanterar logiken för validering av indata och används direkt i mallar. Widgets hanterar rendering av HTML-formulärets inmatningselement på webbsidan och extrahering av inskickade rådata. Widgets behöver dock <a class=\"reference internal\" href=\"#widget-to-field\"><span class=\"std std-ref\">assigned</span></a> till formulärfält.</p>\n</aside>\n<section id=\"specifying-widgets\">\n<span id=\"widget-to-field\"></span><h2>Ange widgetar<a class=\"heading-anchor\" href=\"#specifying-widgets\"><span class=\"visually-hidden\">Link to this heading</span><span aria-hidden=\"true\">#</span></a></h2>\n<p>När du anger ett fält i ett formulär kommer Django att använda en standardwidget som är lämplig för den typ av data som ska visas. För att ta reda på vilken widget som används för vilket fält, se dokumentationen om <a class=\"reference internal\" href=\"/sv/6.0/ref/forms/fields/#built-in-fields\"><span class=\"std std-ref\">Inbyggda Field-klasser</span></a>.</p>\n<p>Men om du vill använda en annan widget för ett fält kan du använda argumentet <a class=\"reference internal\" href=\"/sv/6.0/ref/forms/fields/#django.forms.Field.widget\" title=\"django.forms.Field.widget\"><code class=\"xref py py-attr docutils literal notranslate\"><span class=\"pre\">widget</span></code></a> i fältdefinitionen. Till exempel:</p>\n<div class=\"code-block\" data-language=\"default\"><div class=\"code-block-toolbar\"><span class=\"code-block-language\">Code</span><button type=\"button\" class=\"copy-button\" data-copy hidden><span class=\"copy-button-label\">Copy</span></button></div><pre role=\"group\" tabindex=\"0\" aria-label=\"Code code\"><code><span class=\"kn\">from</span><span class=\"w\"> </span><span class=\"nn\">django</span><span class=\"w\"> </span><span class=\"kn\">import</span> <span class=\"n\">forms</span>\n\n\n<span class=\"k\">class</span><span class=\"w\"> </span><span class=\"nc\">CommentForm</span><span class=\"p\">(</span><span class=\"n\">forms</span><span class=\"o\">.</span><span class=\"n\">Form</span><span class=\"p\">):</span>\n    <span class=\"n\">name</span> <span class=\"o\">=</span> <span class=\"n\">forms</span><span class=\"o\">.</span><span class=\"n\">CharField</span><span class=\"p\">()</span>\n    <span class=\"n\">url</span> <span class=\"o\">=</span> <span class=\"n\">forms</span><span class=\"o\">.</span><span class=\"n\">URLField</span><span class=\"p\">()</span>\n    <span class=\"n\">comment</span> <span class=\"o\">=</span> <span class=\"n\">forms</span><span class=\"o\">.</span><span class=\"n\">CharField</span><span class=\"p\">(</span><span class=\"n\">widget</span><span class=\"o\">=</span><span class=\"n\">forms</span><span class=\"o\">.</span><span class=\"n\">Textarea</span><span class=\"p\">)</span>\n</code></pre></div>\n<p>Detta skulle ange ett formulär med en kommentar som använder en större <a class=\"reference internal\" href=\"#django.forms.Textarea\" title=\"django.forms.Textarea\"><code class=\"xref py py-class docutils literal notranslate\"><span class=\"pre\">Textarea</span></code></a>-widget i stället för standardwidgeten <a class=\"reference internal\" href=\"#django.forms.TextInput\" title=\"django.forms.TextInput\"><code class=\"xref py py-class docutils literal notranslate\"><span class=\"pre\">TextInput</span></code></a>.</p>\n</section>\n<section id=\"setting-arguments-for-widgets\">\n<h2>Ställa in argument för widgets<a class=\"heading-anchor\" href=\"#setting-arguments-for-widgets\"><span class=\"visually-hidden\">Link to this heading</span><span aria-hidden=\"true\">#</span></a></h2>\n<p>Många widgetar har valfria extra argument; de kan anges när widgeten definieras på fältet. I följande exempel anges attributet <a class=\"reference internal\" href=\"#django.forms.SelectDateWidget.years\" title=\"django.forms.SelectDateWidget.years\"><code class=\"xref py py-attr docutils literal notranslate\"><span class=\"pre\">years</span></code></a> för en <a class=\"reference internal\" href=\"#django.forms.SelectDateWidget\" title=\"django.forms.SelectDateWidget\"><code class=\"xref py py-class docutils literal notranslate\"><span class=\"pre\">SelectDateWidget</span></code></a>:</p>\n<div class=\"code-block\" data-language=\"default\"><div class=\"code-block-toolbar\"><span class=\"code-block-language\">Code</span><button type=\"button\" class=\"copy-button\" data-copy hidden><span class=\"copy-button-label\">Copy</span></button></div><pre role=\"group\" tabindex=\"0\" aria-label=\"Code code\"><code><span class=\"kn\">from</span><span class=\"w\"> </span><span class=\"nn\">django</span><span class=\"w\"> </span><span class=\"kn\">import</span> <span class=\"n\">forms</span>\n\n<span class=\"n\">BIRTH_YEAR_CHOICES</span> <span class=\"o\">=</span> <span class=\"p\">[</span><span class=\"s2\">&quot;1980&quot;</span><span class=\"p\">,</span> <span class=\"s2\">&quot;1981&quot;</span><span class=\"p\">,</span> <span class=\"s2\">&quot;1982&quot;</span><span class=\"p\">]</span>\n<span class=\"n\">FAVORITE_COLORS_CHOICES</span> <span class=\"o\">=</span> <span class=\"p\">{</span>\n    <span class=\"s2\">&quot;blue&quot;</span><span class=\"p\">:</span> <span class=\"s2\">&quot;Blue&quot;</span><span class=\"p\">,</span>\n    <span class=\"s2\">&quot;green&quot;</span><span class=\"p\">:</span> <span class=\"s2\">&quot;Green&quot;</span><span class=\"p\">,</span>\n    <span class=\"s2\">&quot;black&quot;</span><span class=\"p\">:</span> <span class=\"s2\">&quot;Black&quot;</span><span class=\"p\">,</span>\n<span class=\"p\">}</span>\n\n\n<span class=\"k\">class</span><span class=\"w\"> </span><span class=\"nc\">SimpleForm</span><span class=\"p\">(</span><span class=\"n\">forms</span><span class=\"o\">.</span><span class=\"n\">Form</span><span class=\"p\">):</span>\n    <span class=\"n\">birth_year</span> <span class=\"o\">=</span> <span class=\"n\">forms</span><span class=\"o\">.</span><span class=\"n\">DateField</span><span class=\"p\">(</span>\n        <span class=\"n\">widget</span><span class=\"o\">=</span><span class=\"n\">forms</span><span class=\"o\">.</span><span class=\"n\">SelectDateWidget</span><span class=\"p\">(</span><span class=\"n\">years</span><span class=\"o\">=</span><span class=\"n\">BIRTH_YEAR_CHOICES</span><span class=\"p\">)</span>\n    <span class=\"p\">)</span>\n    <span class=\"n\">favorite_colors</span> <span class=\"o\">=</span> <span class=\"n\">forms</span><span class=\"o\">.</span><span class=\"n\">MultipleChoiceField</span><span class=\"p\">(</span>\n        <span class=\"n\">required</span><span class=\"o\">=</span><span class=\"kc\">False</span><span class=\"p\">,</span>\n        <span class=\"n\">widget</span><span class=\"o\">=</span><span class=\"n\">forms</span><span class=\"o\">.</span><span class=\"n\">CheckboxSelectMultiple</span><span class=\"p\">,</span>\n        <span class=\"n\">choices</span><span class=\"o\">=</span><span class=\"n\">FAVORITE_COLORS_CHOICES</span><span class=\"p\">,</span>\n    <span class=\"p\">)</span>\n</code></pre></div>\n<p>Se <span class=\"xref std std-ref\">inbyggda widgetar</span> för mer information om vilka widgetar som finns tillgängliga och vilka argument de accepterar.</p>\n</section>\n<section id=\"customizing-widget-instances\">\n<h2>Anpassa widgetinstanser<a class=\"heading-anchor\" href=\"#customizing-widget-instances\"><span class=\"visually-hidden\">Link to this heading</span><span aria-hidden=\"true\">#</span></a></h2>\n<p>När Django renderar en widget som HTML, renderar den bara mycket minimal markup - Django lägger inte till klassnamn eller andra widgetspecifika attribut. Detta innebär till exempel att alla <a class=\"reference internal\" href=\"#django.forms.TextInput\" title=\"django.forms.TextInput\"><code class=\"xref py py-class docutils literal notranslate\"><span class=\"pre\">TextInput</span></code></a>-widgets kommer att se likadana ut på dina webbsidor.</p>\n<p>Det finns två sätt att anpassa widgetar: <a class=\"reference internal\" href=\"#styling-widget-instances\"><span class=\"std std-ref\">per widget instance</span></a> och <a class=\"reference internal\" href=\"#styling-widget-classes\"><span class=\"std std-ref\">per widget class</span></a>.</p>\n<section id=\"styling-widget-instances\">\n<span id=\"id1\"></span><h3>Styling av widgetinstanser<a class=\"heading-anchor\" href=\"#styling-widget-instances\"><span class=\"visually-hidden\">Link to this heading</span><span aria-hidden=\"true\">#</span></a></h3>\n<p>Om du vill att en widgetinstans ska se annorlunda ut än en annan måste du ange ytterligare attribut när widgetobjektet instansieras och tilldelas ett formulärfält (och kanske lägga till några regler i dina CSS-filer).</p>\n<p>Ta till exempel följande formulär:</p>\n<div class=\"code-block\" data-language=\"default\"><div class=\"code-block-toolbar\"><span class=\"code-block-language\">Code</span><button type=\"button\" class=\"copy-button\" data-copy hidden><span class=\"copy-button-label\">Copy</span></button></div><pre role=\"group\" tabindex=\"0\" aria-label=\"Code code\"><code><span class=\"kn\">from</span><span class=\"w\"> </span><span class=\"nn\">django</span><span class=\"w\"> </span><span class=\"kn\">import</span> <span class=\"n\">forms</span>\n\n\n<span class=\"k\">class</span><span class=\"w\"> </span><span class=\"nc\">CommentForm</span><span class=\"p\">(</span><span class=\"n\">forms</span><span class=\"o\">.</span><span class=\"n\">Form</span><span class=\"p\">):</span>\n    <span class=\"n\">name</span> <span class=\"o\">=</span> <span class=\"n\">forms</span><span class=\"o\">.</span><span class=\"n\">CharField</span><span class=\"p\">()</span>\n    <span class=\"n\">url</span> <span class=\"o\">=</span> <span class=\"n\">forms</span><span class=\"o\">.</span><span class=\"n\">URLField</span><span class=\"p\">()</span>\n    <span class=\"n\">comment</span> <span class=\"o\">=</span> <span class=\"n\">forms</span><span class=\"o\">.</span><span class=\"n\">CharField</span><span class=\"p\">()</span>\n</code></pre></div>\n<p>Detta formulär kommer att innehålla <a class=\"reference internal\" href=\"#django.forms.TextInput\" title=\"django.forms.TextInput\"><code class=\"xref py py-class docutils literal notranslate\"><span class=\"pre\">TextInput</span></code></a>-widgetar för namn- och kommentarsfälten, och en <a class=\"reference internal\" href=\"#django.forms.URLInput\" title=\"django.forms.URLInput\"><code class=\"xref py py-class docutils literal notranslate\"><span class=\"pre\">URLInput</span></code></a>-widget för url-fältet. Varje widget har standardrendering - ingen CSS-klass, inga extra attribut:</p>\n<div class=\"code-block\" data-language=\"pycon\"><div class=\"code-block-toolbar\"><span class=\"code-block-language\">Python console</span><button type=\"button\" class=\"copy-button\" data-copy hidden><span class=\"copy-button-label\">Copy</span></button></div><pre role=\"group\" tabindex=\"0\" aria-label=\"Python console code\"><code><span class=\"gp\">&gt;&gt;&gt; </span><span class=\"n\">f</span> <span class=\"o\">=</span> <span class=\"n\">CommentForm</span><span class=\"p\">(</span><span class=\"n\">auto_id</span><span class=\"o\">=</span><span class=\"kc\">False</span><span class=\"p\">)</span>\n<span class=\"gp\">&gt;&gt;&gt; </span><span class=\"nb\">print</span><span class=\"p\">(</span><span class=\"n\">f</span><span class=\"p\">)</span>\n<span class=\"go\">&lt;div&gt;Name:&lt;input type=&quot;text&quot; name=&quot;name&quot; required&gt;&lt;/div&gt;</span>\n<span class=\"go\">&lt;div&gt;Url:&lt;input type=&quot;url&quot; name=&quot;url&quot; required&gt;&lt;/div&gt;</span>\n<span class=\"go\">&lt;div&gt;Comment:&lt;input type=&quot;text&quot; name=&quot;comment&quot; required&gt;&lt;/div&gt;</span>\n</code></pre></div>\n<p>På en riktig webbsida vill du förmodligen anpassa detta. Du kanske vill ha ett större inmatningselement för kommentaren, och du kanske vill att widgeten ”name” ska ha någon speciell CSS-klass. Det är också möjligt att ange attributet ’type’ för att använda en annan HTML5-ingångstyp. För att göra detta använder du argumentet <a class=\"reference internal\" href=\"#django.forms.Widget.attrs\" title=\"django.forms.Widget.attrs\"><code class=\"xref py py-attr docutils literal notranslate\"><span class=\"pre\">Widget.attrs</span></code></a> när du skapar widgeten:</p>\n<div class=\"code-block\" data-language=\"default\"><div class=\"code-block-toolbar\"><span class=\"code-block-language\">Code</span><button type=\"button\" class=\"copy-button\" data-copy hidden><span class=\"copy-button-label\">Copy</span></button></div><pre role=\"group\" tabindex=\"0\" aria-label=\"Code code\"><code><span class=\"k\">class</span><span class=\"w\"> </span><span class=\"nc\">CommentForm</span><span class=\"p\">(</span><span class=\"n\">forms</span><span class=\"o\">.</span><span class=\"n\">Form</span><span class=\"p\">):</span>\n    <span class=\"n\">name</span> <span class=\"o\">=</span> <span class=\"n\">forms</span><span class=\"o\">.</span><span class=\"n\">CharField</span><span class=\"p\">(</span><span class=\"n\">widget</span><span class=\"o\">=</span><span class=\"n\">forms</span><span class=\"o\">.</span><span class=\"n\">TextInput</span><span class=\"p\">(</span><span class=\"n\">attrs</span><span class=\"o\">=</span><span class=\"p\">{</span><span class=\"s2\">&quot;class&quot;</span><span class=\"p\">:</span> <span class=\"s2\">&quot;special&quot;</span><span class=\"p\">}))</span>\n    <span class=\"n\">url</span> <span class=\"o\">=</span> <span class=\"n\">forms</span><span class=\"o\">.</span><span class=\"n\">URLField</span><span class=\"p\">()</span>\n    <span class=\"n\">comment</span> <span class=\"o\">=</span> <span class=\"n\">forms</span><span class=\"o\">.</span><span class=\"n\">CharField</span><span class=\"p\">(</span><span class=\"n\">widget</span><span class=\"o\">=</span><span class=\"n\">forms</span><span class=\"o\">.</span><span class=\"n\">TextInput</span><span class=\"p\">(</span><span class=\"n\">attrs</span><span class=\"o\">=</span><span class=\"p\">{</span><span class=\"s2\">&quot;size&quot;</span><span class=\"p\">:</span> <span class=\"s2\">&quot;40&quot;</span><span class=\"p\">}))</span>\n</code></pre></div>\n<p>Du kan också ändra en widget i formulärdefinitionen:</p>\n<div class=\"code-block\" data-language=\"default\"><div class=\"code-block-toolbar\"><span class=\"code-block-language\">Code</span><button type=\"button\" class=\"copy-button\" data-copy hidden><span class=\"copy-button-label\">Copy</span></button></div><pre role=\"group\" tabindex=\"0\" aria-label=\"Code code\"><code><span class=\"k\">class</span><span class=\"w\"> </span><span class=\"nc\">CommentForm</span><span class=\"p\">(</span><span class=\"n\">forms</span><span class=\"o\">.</span><span class=\"n\">Form</span><span class=\"p\">):</span>\n    <span class=\"n\">name</span> <span class=\"o\">=</span> <span class=\"n\">forms</span><span class=\"o\">.</span><span class=\"n\">CharField</span><span class=\"p\">()</span>\n    <span class=\"n\">url</span> <span class=\"o\">=</span> <span class=\"n\">forms</span><span class=\"o\">.</span><span class=\"n\">URLField</span><span class=\"p\">()</span>\n    <span class=\"n\">comment</span> <span class=\"o\">=</span> <span class=\"n\">forms</span><span class=\"o\">.</span><span class=\"n\">CharField</span><span class=\"p\">()</span>\n\n    <span class=\"n\">name</span><span class=\"o\">.</span><span class=\"n\">widget</span><span class=\"o\">.</span><span class=\"n\">attrs</span><span class=\"o\">.</span><span class=\"n\">update</span><span class=\"p\">({</span><span class=\"s2\">&quot;class&quot;</span><span class=\"p\">:</span> <span class=\"s2\">&quot;special&quot;</span><span class=\"p\">})</span>\n    <span class=\"n\">comment</span><span class=\"o\">.</span><span class=\"n\">widget</span><span class=\"o\">.</span><span class=\"n\">attrs</span><span class=\"o\">.</span><span class=\"n\">update</span><span class=\"p\">(</span><span class=\"n\">size</span><span class=\"o\">=</span><span class=\"s2\">&quot;40&quot;</span><span class=\"p\">)</span>\n</code></pre></div>\n<p>Om fältet inte deklareras direkt i formuläret (t.ex. fält i modellformulär) kan du använda attributet <a class=\"reference internal\" href=\"/sv/6.0/ref/forms/api/#django.forms.Form.fields\" title=\"django.forms.Form.fields\"><code class=\"xref py py-attr docutils literal notranslate\"><span class=\"pre\">Form.fields</span></code></a>:</p>\n<div class=\"code-block\" data-language=\"default\"><div class=\"code-block-toolbar\"><span class=\"code-block-language\">Code</span><button type=\"button\" class=\"copy-button\" data-copy hidden><span class=\"copy-button-label\">Copy</span></button></div><pre role=\"group\" tabindex=\"0\" aria-label=\"Code code\"><code><span class=\"k\">class</span><span class=\"w\"> </span><span class=\"nc\">CommentForm</span><span class=\"p\">(</span><span class=\"n\">forms</span><span class=\"o\">.</span><span class=\"n\">ModelForm</span><span class=\"p\">):</span>\n    <span class=\"k\">def</span><span class=\"w\"> </span><span class=\"fm\">__init__</span><span class=\"p\">(</span><span class=\"bp\">self</span><span class=\"p\">,</span> <span class=\"o\">*</span><span class=\"n\">args</span><span class=\"p\">,</span> <span class=\"o\">**</span><span class=\"n\">kwargs</span><span class=\"p\">):</span>\n        <span class=\"nb\">super</span><span class=\"p\">()</span><span class=\"o\">.</span><span class=\"fm\">__init__</span><span class=\"p\">(</span><span class=\"o\">*</span><span class=\"n\">args</span><span class=\"p\">,</span> <span class=\"o\">**</span><span class=\"n\">kwargs</span><span class=\"p\">)</span>\n        <span class=\"bp\">self</span><span class=\"o\">.</span><span class=\"n\">fields</span><span class=\"p\">[</span><span class=\"s2\">&quot;name&quot;</span><span class=\"p\">]</span><span class=\"o\">.</span><span class=\"n\">widget</span><span class=\"o\">.</span><span class=\"n\">attrs</span><span class=\"o\">.</span><span class=\"n\">update</span><span class=\"p\">({</span><span class=\"s2\">&quot;class&quot;</span><span class=\"p\">:</span> <span class=\"s2\">&quot;special&quot;</span><span class=\"p\">})</span>\n        <span class=\"bp\">self</span><span class=\"o\">.</span><span class=\"n\">fields</span><span class=\"p\">[</span><span class=\"s2\">&quot;comment&quot;</span><span class=\"p\">]</span><span class=\"o\">.</span><span class=\"n\">widget</span><span class=\"o\">.</span><span class=\"n\">attrs</span><span class=\"o\">.</span><span class=\"n\">update</span><span class=\"p\">(</span><span class=\"n\">size</span><span class=\"o\">=</span><span class=\"s2\">&quot;40&quot;</span><span class=\"p\">)</span>\n</code></pre></div>\n<p>Django kommer då att inkludera de extra attributen i den återgivna utdata:</p>\n<div class=\"code-block\" data-language=\"default\"><div class=\"code-block-toolbar\"><span class=\"code-block-language\">Code</span><button type=\"button\" class=\"copy-button\" data-copy hidden><span class=\"copy-button-label\">Copy</span></button></div><pre role=\"group\" tabindex=\"0\" aria-label=\"Code code\"><code><span class=\"gp\">&gt;&gt;&gt; </span><span class=\"n\">f</span> <span class=\"o\">=</span> <span class=\"n\">CommentForm</span><span class=\"p\">(</span><span class=\"n\">auto_id</span><span class=\"o\">=</span><span class=\"kc\">False</span><span class=\"p\">)</span>\n<span class=\"gp\">&gt;&gt;&gt; </span><span class=\"nb\">print</span><span class=\"p\">(</span><span class=\"n\">f</span><span class=\"p\">)</span>\n<span class=\"go\">&lt;div&gt;Name:&lt;input type=&quot;text&quot; name=&quot;name&quot; class=&quot;special&quot; required&gt;&lt;/div&gt;</span>\n<span class=\"go\">&lt;div&gt;Url:&lt;input type=&quot;url&quot; name=&quot;url&quot; required&gt;&lt;/div&gt;</span>\n<span class=\"go\">&lt;div&gt;Comment:&lt;input type=&quot;text&quot; name=&quot;comment&quot; size=&quot;40&quot; required&gt;&lt;/div&gt;</span>\n</code></pre></div>\n<p>Du kan också ställa in HTML <code class=\"docutils literal notranslate\"><span class=\"pre\">id</span></code> med hjälp av <a class=\"reference internal\" href=\"#django.forms.Widget.attrs\" title=\"django.forms.Widget.attrs\"><code class=\"xref py py-attr docutils literal notranslate\"><span class=\"pre\">attrs</span></code></a>. Se <a class=\"reference internal\" href=\"/sv/6.0/ref/forms/api/#django.forms.BoundField.id_for_label\" title=\"django.forms.BoundField.id_for_label\"><code class=\"xref py py-attr docutils literal notranslate\"><span class=\"pre\">BoundField.id_for_label</span></code></a> för ett exempel.</p>\n</section>\n<section id=\"styling-widget-classes\">\n<span id=\"id2\"></span><h3>Styling av widgetklasser<a class=\"heading-anchor\" href=\"#styling-widget-classes\"><span class=\"visually-hidden\">Link to this heading</span><span aria-hidden=\"true\">#</span></a></h3>\n<p>Med widgets är det möjligt att lägga till tillgångar (<code class=\"docutils literal notranslate\"><span class=\"pre\">css</span></code> och <code class=\"docutils literal notranslate\"><span class=\"pre\">javascript</span></code>) och mer djupgående anpassa deras utseende och beteende.</p>\n<p>I ett nötskal måste du underklassa widgeten och antingen <a class=\"reference internal\" href=\"/sv/6.0/topics/forms/media/#assets-as-a-static-definition\"><span class=\"std std-ref\">definiera en ”Media” inre klass</span></a> eller <a class=\"reference internal\" href=\"/sv/6.0/topics/forms/media/#dynamic-property\"><span class=\"std std-ref\">skapa en ”media” egenskap</span></a>.</p>\n<p>Dessa metoder kräver lite avancerad Python-programmering och beskrivs i detalj i ämnesguiden <a class=\"reference internal\" href=\"/sv/6.0/topics/forms/media/\"><span class=\"doc\">Form Assets</span></a>.</p>\n</section>\n</section>\n<section id=\"base-widget-classes\">\n<span id=\"id3\"></span><h2>Klasser för baswidgetar<a class=\"heading-anchor\" href=\"#base-widget-classes\"><span class=\"visually-hidden\">Link to this heading</span><span aria-hidden=\"true\">#</span></a></h2>\n<p>Baswidgetklasserna <a class=\"reference internal\" href=\"#django.forms.Widget\" title=\"django.forms.Widget\"><code class=\"xref py py-class docutils literal notranslate\"><span class=\"pre\">Widget</span></code></a> och <a class=\"reference internal\" href=\"#django.forms.MultiWidget\" title=\"django.forms.MultiWidget\"><code class=\"xref py py-class docutils literal notranslate\"><span class=\"pre\">MultiWidget</span></code></a> är underklasser till alla <a class=\"reference internal\" href=\"#built-in-widgets\"><span class=\"std std-ref\">inbyggda widgetar</span></a> och kan fungera som en grund för anpassade widgetar.</p>\n<section id=\"widget\">\n<h3><code class=\"docutils literal notranslate\"><span class=\"pre\">Widget</span></code><a class=\"heading-anchor\" href=\"#widget\"><span class=\"visually-hidden\">Link to this heading</span><span aria-hidden=\"true\">#</span></a></h3>\n<dl class=\"py class\">\n<dt class=\"sig sig-object py\" id=\"django.forms.Widget\">\n<em class=\"property\"><span class=\"k\"><span class=\"pre\">class</span></span><span class=\"w\"> </span></em><span class=\"sig-name descname\"><span class=\"pre\">Widget</span></span><span class=\"sig-paren\">(</span><em class=\"sig-param\"><span class=\"n\"><span class=\"pre\">attrs</span></span><span class=\"o\"><span class=\"pre\">=</span></span><span class=\"default_value\"><span class=\"pre\">None</span></span></em><span class=\"sig-paren\">)</span><a class=\"heading-anchor\" href=\"#django.forms.Widget\"><span class=\"visually-hidden\">Link to this definition</span><span aria-hidden=\"true\">#</span></a></dt>\n<dd><p>This abstract class cannot be rendered, but provides the basic attribute\n<a class=\"reference internal\" href=\"#django.forms.Widget.attrs\" title=\"django.forms.Widget.attrs\"><code class=\"xref py py-attr docutils literal notranslate\"><span class=\"pre\">attrs</span></code></a>. You may also implement or override the\n<a class=\"reference internal\" href=\"#django.forms.Widget.render\" title=\"django.forms.Widget.render\"><code class=\"xref py py-meth docutils literal notranslate\"><span class=\"pre\">render()</span></code></a> method on custom widgets.</p>\n<dl class=\"py attribute\">\n<dt class=\"sig sig-object py\" id=\"django.forms.Widget.attrs\">\n<span class=\"sig-name descname\"><span class=\"pre\">attrs</span></span><a class=\"heading-anchor\" href=\"#django.forms.Widget.attrs\"><span class=\"visually-hidden\">Link to this definition</span><span aria-hidden=\"true\">#</span></a></dt>\n<dd><p>En ordlista som innehåller HTML-attribut som ska ställas in på den renderade widgeten.</p>\n<div class=\"code-block\" data-language=\"pycon\"><div class=\"code-block-toolbar\"><span class=\"code-block-language\">Python console</span><button type=\"button\" class=\"copy-button\" data-copy hidden><span class=\"copy-button-label\">Copy</span></button></div><pre role=\"group\" tabindex=\"0\" aria-label=\"Python console code\"><code><span class=\"gp\">&gt;&gt;&gt; </span><span class=\"kn\">from</span><span class=\"w\"> </span><span class=\"nn\">django</span><span class=\"w\"> </span><span class=\"kn\">import</span> <span class=\"n\">forms</span>\n<span class=\"gp\">&gt;&gt;&gt; </span><span class=\"n\">name</span> <span class=\"o\">=</span> <span class=\"n\">forms</span><span class=\"o\">.</span><span class=\"n\">TextInput</span><span class=\"p\">(</span><span class=\"n\">attrs</span><span class=\"o\">=</span><span class=\"p\">{</span><span class=\"s2\">&quot;size&quot;</span><span class=\"p\">:</span> <span class=\"mi\">10</span><span class=\"p\">,</span> <span class=\"s2\">&quot;title&quot;</span><span class=\"p\">:</span> <span class=\"s2\">&quot;Your name&quot;</span><span class=\"p\">})</span>\n<span class=\"gp\">&gt;&gt;&gt; </span><span class=\"n\">name</span><span class=\"o\">.</span><span class=\"n\">render</span><span class=\"p\">(</span><span class=\"s2\">&quot;name&quot;</span><span class=\"p\">,</span> <span class=\"s2\">&quot;A name&quot;</span><span class=\"p\">)</span>\n<span class=\"go\">&#39;&lt;input title=&quot;Your name&quot; type=&quot;text&quot; name=&quot;name&quot; value=&quot;A name&quot; size=&quot;10&quot;&gt;&#39;</span>\n</code></pre></div>\n<p>Om du tilldelar ett värde av <code class=\"docutils literal notranslate\"><span class=\"pre\">True</span></code> eller <code class=\"docutils literal notranslate\"><span class=\"pre\">False</span></code> till ett attribut, kommer det att återges som ett HTML5 booleskt attribut:</p>\n<div class=\"code-block\" data-language=\"pycon\"><div class=\"code-block-toolbar\"><span class=\"code-block-language\">Python console</span><button type=\"button\" class=\"copy-button\" data-copy hidden><span class=\"copy-button-label\">Copy</span></button></div><pre role=\"group\" tabindex=\"0\" aria-label=\"Python console code\"><code><span class=\"gp\">&gt;&gt;&gt; </span><span class=\"n\">name</span> <span class=\"o\">=</span> <span class=\"n\">forms</span><span class=\"o\">.</span><span class=\"n\">TextInput</span><span class=\"p\">(</span><span class=\"n\">attrs</span><span class=\"o\">=</span><span class=\"p\">{</span><span class=\"s2\">&quot;required&quot;</span><span class=\"p\">:</span> <span class=\"kc\">True</span><span class=\"p\">})</span>\n<span class=\"gp\">&gt;&gt;&gt; </span><span class=\"n\">name</span><span class=\"o\">.</span><span class=\"n\">render</span><span class=\"p\">(</span><span class=\"s2\">&quot;name&quot;</span><span class=\"p\">,</span> <span class=\"s2\">&quot;A name&quot;</span><span class=\"p\">)</span>\n<span class=\"go\">&#39;&lt;input name=&quot;name&quot; type=&quot;text&quot; value=&quot;A name&quot; required&gt;&#39;</span>\n<span class=\"gp\">&gt;&gt;&gt;</span>\n<span class=\"gp\">&gt;&gt;&gt; </span><span class=\"n\">name</span> <span class=\"o\">=</span> <span class=\"n\">forms</span><span class=\"o\">.</span><span class=\"n\">TextInput</span><span class=\"p\">(</span><span class=\"n\">attrs</span><span class=\"o\">=</span><span class=\"p\">{</span><span class=\"s2\">&quot;required&quot;</span><span class=\"p\">:</span> <span class=\"kc\">False</span><span class=\"p\">})</span>\n<span class=\"gp\">&gt;&gt;&gt; </span><span class=\"n\">name</span><span class=\"o\">.</span><span class=\"n\">render</span><span class=\"p\">(</span><span class=\"s2\">&quot;name&quot;</span><span class=\"p\">,</span> <span class=\"s2\">&quot;A name&quot;</span><span class=\"p\">)</span>\n<span class=\"go\">&#39;&lt;input name=&quot;name&quot; type=&quot;text&quot; value=&quot;A name&quot;&gt;&#39;</span>\n</code></pre></div>\n</dd></dl>\n\n<dl class=\"py attribute\">\n<dt class=\"sig sig-object py\" id=\"django.forms.Widget.supports_microseconds\">\n<span class=\"sig-name descname\"><span class=\"pre\">supports_microseconds</span></span><a class=\"heading-anchor\" href=\"#django.forms.Widget.supports_microseconds\"><span class=\"visually-hidden\">Link to this definition</span><span aria-hidden=\"true\">#</span></a></dt>\n<dd><p>Ett attribut som har standardvärdet <code class=\"docutils literal notranslate\"><span class=\"pre\">True</span></code>. Om det sätts till <code class=\"docutils literal notranslate\"><span class=\"pre\">False</span></code> kommer mikrosekunderna i värdena <a class=\"reference external\" href=\"https://docs.python.org/3/library/datetime.html#datetime.datetime\" title=\"(in Python v3.14)\"><code class=\"xref py py-class docutils literal notranslate\"><span class=\"pre\">datetime</span></code></a> och <a class=\"reference external\" href=\"https://docs.python.org/3/library/datetime.html#datetime.time\" title=\"(in Python v3.14)\"><code class=\"xref py py-class docutils literal notranslate\"><span class=\"pre\">time</span></code></a> att sättas till <code class=\"docutils literal notranslate\"><span class=\"pre\">0</span></code>.</p>\n</dd></dl>\n\n<dl class=\"py method\">\n<dt class=\"sig sig-object py\" id=\"django.forms.Widget.format_value\">\n<span class=\"sig-name descname\"><span class=\"pre\">format_value</span></span><span class=\"sig-paren\">(</span><em class=\"sig-param\"><span class=\"n\"><span class=\"pre\">value</span></span></em><span class=\"sig-paren\">)</span><a class=\"heading-anchor\" href=\"#django.forms.Widget.format_value\"><span class=\"visually-hidden\">Link to this definition</span><span aria-hidden=\"true\">#</span></a></dt>\n<dd><p>Rensar och returnerar ett värde för användning i widgetmallen. <code class=\"docutils literal notranslate\"><span class=\"pre\">värde</span></code> garanteras inte vara giltig indata, därför bör implementeringar av underklasser programmeras defensivt.</p>\n</dd></dl>\n\n<dl class=\"py method\">\n<dt class=\"sig sig-object py\" id=\"django.forms.Widget.get_context\">\n<span class=\"sig-name descname\"><span class=\"pre\">get_context</span></span><span class=\"sig-paren\">(</span><em class=\"sig-param\"><span class=\"n\"><span class=\"pre\">name</span></span></em>, <em class=\"sig-param\"><span class=\"n\"><span class=\"pre\">value</span></span></em>, <em class=\"sig-param\"><span class=\"n\"><span class=\"pre\">attrs</span></span></em><span class=\"sig-paren\">)</span><a class=\"heading-anchor\" href=\"#django.forms.Widget.get_context\"><span class=\"visually-hidden\">Link to this definition</span><span aria-hidden=\"true\">#</span></a></dt>\n<dd><p>Returnerar en ordbok med värden som ska användas vid rendering av widgetmallen. Som standard innehåller ordboken en enda nyckel, <code class=\"docutils literal notranslate\"><span class=\"pre\">'widget'</span></code>, som är en ordboksrepresentation av widgeten som innehåller följande nycklar:</p>\n<ul class=\"simple\">\n<li><p><code class=\"docutils literal notranslate\"><span class=\"pre\">'namn'</span></code>: Namnet på fältet från argumentet <code class=\"docutils literal notranslate\"><span class=\"pre\">name</span></code>.</p></li>\n<li><p><code class=\"docutils literal notranslate\"><span class=\"pre\">'is_hidden'</span></code>: En boolean som anger om denna widget är dold eller inte.</p></li>\n<li><p><code class=\"docutils literal notranslate\"><span class=\"pre\">'required'</span></code>: En boolean som anger om fältet för den här widgeten är obligatoriskt eller inte.</p></li>\n<li><p><code class=\"docutils literal notranslate\"><span class=\"pre\">'värde'</span></code>: Det värde som returneras av <a class=\"reference internal\" href=\"#django.forms.Widget.format_value\" title=\"django.forms.Widget.format_value\"><code class=\"xref py py-meth docutils literal notranslate\"><span class=\"pre\">format_value()</span></code></a>.</p></li>\n<li><p><code class=\"docutils literal notranslate\"><span class=\"pre\">'attrs'</span></code>: HTML-attribut som ska ställas in på den renderade widgeten. Kombinationen av attributet <a class=\"reference internal\" href=\"#django.forms.Widget.attrs\" title=\"django.forms.Widget.attrs\"><code class=\"xref py py-attr docutils literal notranslate\"><span class=\"pre\">attrs</span></code></a> och argumentet <code class=\"docutils literal notranslate\"><span class=\"pre\">attrs</span></code>.</p></li>\n<li><p><code class=\"docutils literal notranslate\"><span class=\"pre\">'template_name'</span></code>: Värdet av <code class=\"docutils literal notranslate\"><span class=\"pre\">self.template_name</span></code>.</p></li>\n</ul>\n<p>underklasser till <code class=\"docutils literal notranslate\"><span class=\"pre\">Widget</span></code> kan tillhandahålla anpassade kontextvärden genom att åsidosätta denna metod.</p>\n</dd></dl>\n\n<dl class=\"py method\">\n<dt class=\"sig sig-object py\" id=\"django.forms.Widget.id_for_label\">\n<span class=\"sig-name descname\"><span class=\"pre\">id_for_label</span></span><span class=\"sig-paren\">(</span><em class=\"sig-param\"><span class=\"n\"><span class=\"pre\">id_</span></span></em><span class=\"sig-paren\">)</span><a class=\"heading-anchor\" href=\"#django.forms.Widget.id_for_label\"><span class=\"visually-hidden\">Link to this definition</span><span aria-hidden=\"true\">#</span></a></dt>\n<dd><p>Returnerar HTML ID-attributet för denna widget för användning av en <code class=\"docutils literal notranslate\"><span class=\"pre\">&lt;label&gt;</span></code>, givet fältets ID. Returnerar en tom sträng om ett ID inte är tillgängligt.</p>\n<p>Denna hook är nödvändig eftersom vissa widgetar har flera HTML-element och därmed flera ID:n. I så fall bör den här metoden returnera ett ID-värde som motsvarar det första ID:t i widgetens taggar.</p>\n</dd></dl>\n\n<dl class=\"py method\">\n<dt class=\"sig sig-object py\" id=\"django.forms.Widget.render\">\n<span class=\"sig-name descname\"><span class=\"pre\">render</span></span><span class=\"sig-paren\">(</span><em class=\"sig-param\"><span class=\"n\"><span class=\"pre\">name</span></span></em>, <em class=\"sig-param\"><span class=\"n\"><span class=\"pre\">value</span></span></em>, <em class=\"sig-param\"><span class=\"n\"><span class=\"pre\">attrs</span></span><span class=\"o\"><span class=\"pre\">=</span></span><span class=\"default_value\"><span class=\"pre\">None</span></span></em>, <em class=\"sig-param\"><span class=\"n\"><span class=\"pre\">renderer</span></span><span class=\"o\"><span class=\"pre\">=</span></span><span class=\"default_value\"><span class=\"pre\">None</span></span></em><span class=\"sig-paren\">)</span><a class=\"heading-anchor\" href=\"#django.forms.Widget.render\"><span class=\"visually-hidden\">Link to this definition</span><span aria-hidden=\"true\">#</span></a></dt>\n<dd><p>Renderar en widget till HTML med hjälp av den angivna renderaren. Om <code class=\"docutils literal notranslate\"><span class=\"pre\">renderer</span></code> är <code class=\"docutils literal notranslate\"><span class=\"pre\">None</span></code> används renderaren från inställningen <a class=\"reference internal\" href=\"/sv/6.0/ref/settings/#std-setting-FORM_RENDERER\"><code class=\"xref std std-setting docutils literal notranslate\"><span class=\"pre\">FORM_RENDERER</span></code></a>.</p>\n</dd></dl>\n\n<dl class=\"py method\">\n<dt class=\"sig sig-object py\" id=\"django.forms.Widget.value_from_datadict\">\n<span class=\"sig-name descname\"><span class=\"pre\">value_from_datadict</span></span><span class=\"sig-paren\">(</span><em class=\"sig-param\"><span class=\"n\"><span class=\"pre\">data</span></span></em>, <em class=\"sig-param\"><span class=\"n\"><span class=\"pre\">files</span></span></em>, <em class=\"sig-param\"><span class=\"n\"><span class=\"pre\">name</span></span></em><span class=\"sig-paren\">)</span><a class=\"heading-anchor\" href=\"#django.forms.Widget.value_from_datadict\"><span class=\"visually-hidden\">Link to this definition</span><span aria-hidden=\"true\">#</span></a></dt>\n<dd><p>Givet en ordbok med data och denna widgets namn, returnerar värdet av denna widget. <code class=\"docutils literal notranslate\"><span class=\"pre\">files</span></code> kan innehålla data som kommer från <a class=\"reference internal\" href=\"/sv/6.0/ref/request-response/#django.http.HttpRequest.FILES\" title=\"django.http.HttpRequest.FILES\"><code class=\"xref py py-attr docutils literal notranslate\"><span class=\"pre\">request.FILES</span></code></a>. Returnerar <code class=\"docutils literal notranslate\"><span class=\"pre\">None</span></code> om inget värde har angetts. Observera också att <code class=\"docutils literal notranslate\"><span class=\"pre\">value_from_datadict</span></code> kan anropas mer än en gång under hanteringen av formulärdata, så om du anpassar det och lägger till dyr bearbetning bör du implementera någon cachemekanism själv.</p>\n</dd></dl>\n\n<dl class=\"py method\">\n<dt class=\"sig sig-object py\" id=\"django.forms.Widget.value_omitted_from_data\">\n<span class=\"sig-name descname\"><span class=\"pre\">value_omitted_from_data</span></span><span class=\"sig-paren\">(</span><em class=\"sig-param\"><span class=\"n\"><span class=\"pre\">data</span></span></em>, <em class=\"sig-param\"><span class=\"n\"><span class=\"pre\">files</span></span></em>, <em class=\"sig-param\"><span class=\"n\"><span class=\"pre\">name</span></span></em><span class=\"sig-paren\">)</span><a class=\"heading-anchor\" href=\"#django.forms.Widget.value_omitted_from_data\"><span class=\"visually-hidden\">Link to this definition</span><span aria-hidden=\"true\">#</span></a></dt>\n<dd><p>Med hjälp av ordböckerna <code class=\"docutils literal notranslate\"><span class=\"pre\">data</span></code> och <code class=\"docutils literal notranslate\"><span class=\"pre\">files</span></code> och widgetens namn returneras om det finns data eller filer för widgeten eller inte.</p>\n<p>Metodens resultat påverkar om ett fält i ett modellformulär <a class=\"reference internal\" href=\"/sv/6.0/topics/forms/modelforms/#topics-modelform-save\"><span class=\"std std-ref\">faller tillbaka till sin standard</span></a> eller inte.</p>\n<p>Specialfall är <a class=\"reference internal\" href=\"#django.forms.CheckboxInput\" title=\"django.forms.CheckboxInput\"><code class=\"xref py py-class docutils literal notranslate\"><span class=\"pre\">CheckboxInput</span></code></a>, <a class=\"reference internal\" href=\"#django.forms.CheckboxSelectMultiple\" title=\"django.forms.CheckboxSelectMultiple\"><code class=\"xref py py-class docutils literal notranslate\"><span class=\"pre\">CheckboxSelectMultiple</span></code></a> och <a class=\"reference internal\" href=\"#django.forms.SelectMultiple\" title=\"django.forms.SelectMultiple\"><code class=\"xref py py-class docutils literal notranslate\"><span class=\"pre\">SelectMultiple</span></code></a>, som alltid returnerar <code class=\"docutils literal notranslate\"><span class=\"pre\">False</span></code> eftersom en avmarkerad kryssruta och omarkerad <code class=\"docutils literal notranslate\"><span class=\"pre\">&lt;select</span> <span class=\"pre\">multiple&gt;</span></code> inte visas i data från en HTML-formulärinlämning, så det är okänt om användaren skickade in ett värde eller inte.</p>\n</dd></dl>\n\n<dl class=\"py attribute\">\n<dt class=\"sig sig-object py\" id=\"django.forms.Widget.use_fieldset\">\n<span class=\"sig-name descname\"><span class=\"pre\">use_fieldset</span></span><a class=\"heading-anchor\" href=\"#django.forms.Widget.use_fieldset\"><span class=\"visually-hidden\">Link to this definition</span><span aria-hidden=\"true\">#</span></a></dt>\n<dd><p>Ett attribut för att identifiera om widgeten ska grupperas i en <code class=\"docutils literal notranslate\"><span class=\"pre\">&lt;fieldset&gt;</span></code> med en <code class=\"docutils literal notranslate\"><span class=\"pre\">&lt;legend&gt;</span></code> när den renderas. Standardvärdet är <code class=\"docutils literal notranslate\"><span class=\"pre\">False</span></code> men är <code class=\"docutils literal notranslate\"><span class=\"pre\">True</span></code> när widgeten innehåller flera <code class=\"docutils literal notranslate\"><span class=\"pre\">&lt;input&gt;</span></code> taggar som <a class=\"reference internal\" href=\"#django.forms.CheckboxSelectMultiple\" title=\"django.forms.CheckboxSelectMultiple\"><code class=\"xref py py-class docutils literal notranslate\"><span class=\"pre\">CheckboxSelectMultiple</span></code></a>, <a class=\"reference internal\" href=\"#django.forms.RadioSelect\" title=\"django.forms.RadioSelect\"><code class=\"xref py py-class docutils literal notranslate\"><span class=\"pre\">RadioSelect</span></code></a>, <a class=\"reference internal\" href=\"#django.forms.MultiWidget\" title=\"django.forms.MultiWidget\"><code class=\"xref py py-class docutils literal notranslate\"><span class=\"pre\">MultiWidget</span></code></a>, <a class=\"reference internal\" href=\"#django.forms.SplitDateTimeWidget\" title=\"django.forms.SplitDateTimeWidget\"><code class=\"xref py py-class docutils literal notranslate\"><span class=\"pre\">SplitDateTimeWidget</span></code></a>, och <a class=\"reference internal\" href=\"#django.forms.SelectDateWidget\" title=\"django.forms.SelectDateWidget\"><code class=\"xref py py-class docutils literal notranslate\"><span class=\"pre\">SelectDateWidget</span></code></a>.</p>\n</dd></dl>\n\n<dl class=\"py method\">\n<dt class=\"sig sig-object py\" id=\"django.forms.Widget.use_required_attribute\">\n<span class=\"sig-name descname\"><span class=\"pre\">use_required_attribute</span></span><span class=\"sig-paren\">(</span><em class=\"sig-param\"><span class=\"n\"><span class=\"pre\">initial</span></span></em><span class=\"sig-paren\">)</span><a class=\"heading-anchor\" href=\"#django.forms.Widget.use_required_attribute\"><span class=\"visually-hidden\">Link to this definition</span><span aria-hidden=\"true\">#</span></a></dt>\n<dd><p>Med tanke på ett formulärfälts <code class=\"docutils literal notranslate\"><span class=\"pre\">initial</span></code>-värde returneras huruvida widgeten kan återges med HTML-attributet <code class=\"docutils literal notranslate\"><span class=\"pre\">required</span></code> eller inte. Formulär använder den här metoden tillsammans med <a class=\"reference internal\" href=\"/sv/6.0/ref/forms/fields/#django.forms.Field.required\" title=\"django.forms.Field.required\"><code class=\"xref py py-attr docutils literal notranslate\"><span class=\"pre\">Field.required</span></code></a> och <a class=\"reference internal\" href=\"/sv/6.0/ref/forms/api/#django.forms.Form.use_required_attribute\" title=\"django.forms.Form.use_required_attribute\"><code class=\"xref py py-attr docutils literal notranslate\"><span class=\"pre\">Form.use_required_attribute</span></code></a> för att avgöra om attributet <code class=\"docutils literal notranslate\"><span class=\"pre\">required</span></code> ska visas eller inte för varje fält.</p>\n<p>Som standard returneras <code class=\"docutils literal notranslate\"><span class=\"pre\">False</span></code> för dolda widgetar och <code class=\"docutils literal notranslate\"><span class=\"pre\">True</span></code> annars. Specialfall är <a class=\"reference internal\" href=\"#django.forms.FileInput\" title=\"django.forms.FileInput\"><code class=\"xref py py-class docutils literal notranslate\"><span class=\"pre\">FileInput</span></code></a> och <a class=\"reference internal\" href=\"#django.forms.ClearableFileInput\" title=\"django.forms.ClearableFileInput\"><code class=\"xref py py-class docutils literal notranslate\"><span class=\"pre\">ClearableFileInput</span></code></a>, som returnerar <code class=\"docutils literal notranslate\"><span class=\"pre\">False</span></code> när <code class=\"docutils literal notranslate\"><span class=\"pre\">initial</span></code> är inställt, och <a class=\"reference internal\" href=\"#django.forms.CheckboxSelectMultiple\" title=\"django.forms.CheckboxSelectMultiple\"><code class=\"xref py py-class docutils literal notranslate\"><span class=\"pre\">CheckboxSelectMultiple</span></code></a>, som alltid returnerar <code class=\"docutils literal notranslate\"><span class=\"pre\">False</span></code> eftersom webbläsarvalidering skulle kräva att alla kryssrutor är markerade istället för minst en.</p>\n<p>Override this method in custom widgets that aren’t compatible with\nbrowser validation. For example, a WYSIWYG text editor widget backed by\na hidden <code class=\"docutils literal notranslate\"><span class=\"pre\">textarea</span></code> element may want to always return <code class=\"docutils literal notranslate\"><span class=\"pre\">False</span></code> to\navoid browser validation on the hidden field.</p>\n</dd></dl>\n\n</dd></dl>\n\n</section>\n<section id=\"multiwidget\">\n<h3><code class=\"docutils literal notranslate\"><span class=\"pre\">MultiWidget</span></code><a class=\"heading-anchor\" href=\"#multiwidget\"><span class=\"visually-hidden\">Link to this heading</span><span aria-hidden=\"true\">#</span></a></h3>\n<dl class=\"py class\">\n<dt class=\"sig sig-object py\" id=\"django.forms.MultiWidget\">\n<em class=\"property\"><span class=\"k\"><span class=\"pre\">class</span></span><span class=\"w\"> </span></em><span class=\"sig-name descname\"><span class=\"pre\">MultiWidget</span></span><span class=\"sig-paren\">(</span><em class=\"sig-param\"><span class=\"n\"><span class=\"pre\">widgets</span></span></em>, <em class=\"sig-param\"><span class=\"n\"><span class=\"pre\">attrs</span></span><span class=\"o\"><span class=\"pre\">=</span></span><span class=\"default_value\"><span class=\"pre\">None</span></span></em><span class=\"sig-paren\">)</span><a class=\"heading-anchor\" href=\"#django.forms.MultiWidget\"><span class=\"visually-hidden\">Link to this definition</span><span aria-hidden=\"true\">#</span></a></dt>\n<dd><p>En widget som består av flera widgetar. <a class=\"reference internal\" href=\"#django.forms.MultiWidget\" title=\"django.forms.MultiWidget\"><code class=\"xref py py-class docutils literal notranslate\"><span class=\"pre\">MultiWidget</span></code></a> arbetar hand i hand med <a class=\"reference internal\" href=\"/sv/6.0/ref/forms/fields/#django.forms.MultiValueField\" title=\"django.forms.MultiValueField\"><code class=\"xref py py-class docutils literal notranslate\"><span class=\"pre\">MultiValueField</span></code></a>.</p>\n<p><a class=\"reference internal\" href=\"#django.forms.MultiWidget\" title=\"django.forms.MultiWidget\"><code class=\"xref py py-class docutils literal notranslate\"><span class=\"pre\">MultiWidget</span></code></a> har ett obligatoriskt argument:</p>\n<dl class=\"py attribute\">\n<dt class=\"sig sig-object py\" id=\"django.forms.MultiWidget.widgets\">\n<span class=\"sig-name descname\"><span class=\"pre\">widgets</span></span><a class=\"heading-anchor\" href=\"#django.forms.MultiWidget.widgets\"><span class=\"visually-hidden\">Link to this definition</span><span aria-hidden=\"true\">#</span></a></dt>\n<dd><p>En iterabel som innehåller de widgetar som behövs. Till exempel:</p>\n<div class=\"code-block\" data-language=\"pycon\"><div class=\"code-block-toolbar\"><span class=\"code-block-language\">Python console</span><button type=\"button\" class=\"copy-button\" data-copy hidden><span class=\"copy-button-label\">Copy</span></button></div><pre role=\"group\" tabindex=\"0\" aria-label=\"Python console code\"><code><span class=\"gp\">&gt;&gt;&gt; </span><span class=\"kn\">from</span><span class=\"w\"> </span><span class=\"nn\">django.forms</span><span class=\"w\"> </span><span class=\"kn\">import</span> <span class=\"n\">MultiWidget</span><span class=\"p\">,</span> <span class=\"n\">TextInput</span>\n<span class=\"gp\">&gt;&gt;&gt; </span><span class=\"n\">widget</span> <span class=\"o\">=</span> <span class=\"n\">MultiWidget</span><span class=\"p\">(</span><span class=\"n\">widgets</span><span class=\"o\">=</span><span class=\"p\">[</span><span class=\"n\">TextInput</span><span class=\"p\">,</span> <span class=\"n\">TextInput</span><span class=\"p\">])</span>\n<span class=\"gp\">&gt;&gt;&gt; </span><span class=\"n\">widget</span><span class=\"o\">.</span><span class=\"n\">render</span><span class=\"p\">(</span><span class=\"s2\">&quot;name&quot;</span><span class=\"p\">,</span> <span class=\"p\">[</span><span class=\"s2\">&quot;john&quot;</span><span class=\"p\">,</span> <span class=\"s2\">&quot;paul&quot;</span><span class=\"p\">])</span>\n<span class=\"go\">&#39;&lt;input type=&quot;text&quot; name=&quot;name_0&quot; value=&quot;john&quot;&gt;&lt;input type=&quot;text&quot; name=&quot;name_1&quot; value=&quot;paul&quot;&gt;&#39;</span>\n</code></pre></div>\n<p>Du kan tillhandahålla en ordbok för att ange anpassade suffix för attributet <code class=\"docutils literal notranslate\"><span class=\"pre\">name</span></code> på varje subwidget. I det här fallet kommer nyckeln för varje par <code class=\"docutils literal notranslate\"><span class=\"pre\">(nyckel,</span> <span class=\"pre\">widget)</span></code> att läggas till widgetens <code class=\"docutils literal notranslate\"><span class=\"pre\">namn</span></code> för att generera attributvärdet. Du kan ange den tomma strängen (<code class=\"docutils literal notranslate\"><span class=\"pre\">''</span></code>) för en enda nyckel, för att undertrycka suffixet för en widget. Till exempel:</p>\n<div class=\"code-block\" data-language=\"pycon\"><div class=\"code-block-toolbar\"><span class=\"code-block-language\">Python console</span><button type=\"button\" class=\"copy-button\" data-copy hidden><span class=\"copy-button-label\">Copy</span></button></div><pre role=\"group\" tabindex=\"0\" aria-label=\"Python console code\"><code><span class=\"gp\">&gt;&gt;&gt; </span><span class=\"n\">widget</span> <span class=\"o\">=</span> <span class=\"n\">MultiWidget</span><span class=\"p\">(</span><span class=\"n\">widgets</span><span class=\"o\">=</span><span class=\"p\">{</span><span class=\"s2\">&quot;&quot;</span><span class=\"p\">:</span> <span class=\"n\">TextInput</span><span class=\"p\">,</span> <span class=\"s2\">&quot;last&quot;</span><span class=\"p\">:</span> <span class=\"n\">TextInput</span><span class=\"p\">})</span>\n<span class=\"gp\">&gt;&gt;&gt; </span><span class=\"n\">widget</span><span class=\"o\">.</span><span class=\"n\">render</span><span class=\"p\">(</span><span class=\"s2\">&quot;name&quot;</span><span class=\"p\">,</span> <span class=\"p\">[</span><span class=\"s2\">&quot;john&quot;</span><span class=\"p\">,</span> <span class=\"s2\">&quot;paul&quot;</span><span class=\"p\">])</span>\n<span class=\"go\">&#39;&lt;input type=&quot;text&quot; name=&quot;name&quot; value=&quot;john&quot;&gt;&lt;input type=&quot;text&quot; name=&quot;name_last&quot; value=&quot;paul&quot;&gt;&#39;</span>\n</code></pre></div>\n</dd></dl>\n\n<p>Och en nödvändig metod:</p>\n<dl class=\"py method\">\n<dt class=\"sig sig-object py\" id=\"django.forms.MultiWidget.decompress\">\n<span class=\"sig-name descname\"><span class=\"pre\">decompress</span></span><span class=\"sig-paren\">(</span><em class=\"sig-param\"><span class=\"n\"><span class=\"pre\">value</span></span></em><span class=\"sig-paren\">)</span><a class=\"heading-anchor\" href=\"#django.forms.MultiWidget.decompress\"><span class=\"visually-hidden\">Link to this definition</span><span aria-hidden=\"true\">#</span></a></dt>\n<dd><p>Denna metod tar ett enda ”komprimerat” värde från fältet och returnerar en lista med ”dekomprimerade” värden. Inmatningsvärdet kan antas vara giltigt, men inte nödvändigtvis icke-tomt.</p>\n<p>Denna metod <strong>måste implementeras</strong> av underklassen, och eftersom värdet kan vara tomt måste implementeringen vara defensiv.</p>\n<p>Tanken bakom ”dekomprimering” är att det är nödvändigt att ”dela upp” det kombinerade värdet för formulärfältet i värden för varje widget.</p>\n<p>Ett exempel på detta är hur <a class=\"reference internal\" href=\"#django.forms.SplitDateTimeWidget\" title=\"django.forms.SplitDateTimeWidget\"><code class=\"xref py py-class docutils literal notranslate\"><span class=\"pre\">SplitDateTimeWidget</span></code></a> förvandlar ett <a class=\"reference external\" href=\"https://docs.python.org/3/library/datetime.html#datetime.datetime\" title=\"(in Python v3.14)\"><code class=\"xref py py-class docutils literal notranslate\"><span class=\"pre\">datetime</span></code></a>-värde till en lista med datum och tid uppdelade i två separata värden:</p>\n<div class=\"code-block\" data-language=\"default\"><div class=\"code-block-toolbar\"><span class=\"code-block-language\">Code</span><button type=\"button\" class=\"copy-button\" data-copy hidden><span class=\"copy-button-label\">Copy</span></button></div><pre role=\"group\" tabindex=\"0\" aria-label=\"Code code\"><code><span class=\"kn\">from</span><span class=\"w\"> </span><span class=\"nn\">django.forms</span><span class=\"w\"> </span><span class=\"kn\">import</span> <span class=\"n\">MultiWidget</span>\n\n\n<span class=\"k\">class</span><span class=\"w\"> </span><span class=\"nc\">SplitDateTimeWidget</span><span class=\"p\">(</span><span class=\"n\">MultiWidget</span><span class=\"p\">):</span>\n    <span class=\"c1\"># ...</span>\n\n    <span class=\"k\">def</span><span class=\"w\"> </span><span class=\"nf\">decompress</span><span class=\"p\">(</span><span class=\"bp\">self</span><span class=\"p\">,</span> <span class=\"n\">value</span><span class=\"p\">):</span>\n        <span class=\"k\">if</span> <span class=\"n\">value</span><span class=\"p\">:</span>\n            <span class=\"k\">return</span> <span class=\"p\">[</span><span class=\"n\">value</span><span class=\"o\">.</span><span class=\"n\">date</span><span class=\"p\">(),</span> <span class=\"n\">value</span><span class=\"o\">.</span><span class=\"n\">time</span><span class=\"p\">()]</span>\n        <span class=\"k\">return</span> <span class=\"p\">[</span><span class=\"kc\">None</span><span class=\"p\">,</span> <span class=\"kc\">None</span><span class=\"p\">]</span>\n</code></pre></div>\n<aside class=\"admonition admonition-tip\">\n<p class=\"admonition-title\">Tips</p>\n<p>Observera att <a class=\"reference internal\" href=\"/sv/6.0/ref/forms/fields/#django.forms.MultiValueField\" title=\"django.forms.MultiValueField\"><code class=\"xref py py-class docutils literal notranslate\"><span class=\"pre\">MultiValueField</span></code></a> har en kompletterande metod <a class=\"reference internal\" href=\"/sv/6.0/ref/forms/fields/#django.forms.MultiValueField.compress\" title=\"django.forms.MultiValueField.compress\"><code class=\"xref py py-meth docutils literal notranslate\"><span class=\"pre\">compress()</span></code></a> med motsatt ansvar - att kombinera rensade värden för alla medlemsfält till ett.</p>\n</aside>\n</dd></dl>\n\n<p>Det ger ett anpassat sammanhang:</p>\n<dl class=\"py method\">\n<dt class=\"sig sig-object py\" id=\"django.forms.MultiWidget.get_context\">\n<span class=\"sig-name descname\"><span class=\"pre\">get_context</span></span><span class=\"sig-paren\">(</span><em class=\"sig-param\"><span class=\"n\"><span class=\"pre\">name</span></span></em>, <em class=\"sig-param\"><span class=\"n\"><span class=\"pre\">value</span></span></em>, <em class=\"sig-param\"><span class=\"n\"><span class=\"pre\">attrs</span></span></em><span class=\"sig-paren\">)</span><a class=\"heading-anchor\" href=\"#django.forms.MultiWidget.get_context\"><span class=\"visually-hidden\">Link to this definition</span><span aria-hidden=\"true\">#</span></a></dt>\n<dd><p>Förutom nyckeln <code class=\"docutils literal notranslate\"><span class=\"pre\">'widget'</span></code> som beskrivs i <a class=\"reference internal\" href=\"#django.forms.Widget.get_context\" title=\"django.forms.Widget.get_context\"><code class=\"xref py py-meth docutils literal notranslate\"><span class=\"pre\">Widget.get_context()</span></code></a>, lägger <code class=\"docutils literal notranslate\"><span class=\"pre\">MultiWidget</span></code> till en nyckel <code class=\"docutils literal notranslate\"><span class=\"pre\">widget['subwidgets']</span></code>.</p>\n<p>Dessa kan loopas över i widgetmallen:</p>\n<div class=\"code-block\" data-language=\"html+django\"><div class=\"code-block-toolbar\"><span class=\"code-block-language\">Django template</span><button type=\"button\" class=\"copy-button\" data-copy hidden><span class=\"copy-button-label\">Copy</span></button></div><pre role=\"group\" tabindex=\"0\" aria-label=\"Django template code\"><code><span class=\"cp\">{%</span> <span class=\"k\">for</span> <span class=\"nv\">subwidget</span> <span class=\"k\">in</span> <span class=\"nv\">widget.subwidgets</span> <span class=\"cp\">%}</span>\n    <span class=\"cp\">{%</span> <span class=\"k\">include</span> <span class=\"nv\">subwidget.template_name</span> <span class=\"k\">with</span> <span class=\"nv\">widget</span><span class=\"o\">=</span><span class=\"nv\">subwidget</span> <span class=\"cp\">%}</span>\n<span class=\"cp\">{%</span> <span class=\"k\">endfor</span> <span class=\"cp\">%}</span>\n</code></pre></div>\n</dd></dl>\n\n<p>Här är ett exempel på en widget som underklassar <a class=\"reference internal\" href=\"#django.forms.MultiWidget\" title=\"django.forms.MultiWidget\"><code class=\"xref py py-class docutils literal notranslate\"><span class=\"pre\">MultiWidget</span></code></a> för att visa ett datum med dag, månad och år i olika valboxar. Denna widget är avsedd att användas med en <a class=\"reference internal\" href=\"/sv/6.0/ref/forms/fields/#django.forms.DateField\" title=\"django.forms.DateField\"><code class=\"xref py py-class docutils literal notranslate\"><span class=\"pre\">DateField</span></code></a> snarare än en <a class=\"reference internal\" href=\"/sv/6.0/ref/forms/fields/#django.forms.MultiValueField\" title=\"django.forms.MultiValueField\"><code class=\"xref py py-class docutils literal notranslate\"><span class=\"pre\">MultiValueField</span></code></a>, därför har vi implementerat <a class=\"reference internal\" href=\"#django.forms.Widget.value_from_datadict\" title=\"django.forms.Widget.value_from_datadict\"><code class=\"xref py py-meth docutils literal notranslate\"><span class=\"pre\">value_from_datadict()</span></code></a>:</p>\n<div class=\"code-block\" data-language=\"default\"><div class=\"code-block-toolbar\"><span class=\"code-block-language\">Code</span><button type=\"button\" class=\"copy-button\" data-copy hidden><span class=\"copy-button-label\">Copy</span></button></div><pre role=\"group\" tabindex=\"0\" aria-label=\"Code code\"><code><span class=\"kn\">from</span><span class=\"w\"> </span><span class=\"nn\">datetime</span><span class=\"w\"> </span><span class=\"kn\">import</span> <span class=\"n\">date</span>\n<span class=\"kn\">from</span><span class=\"w\"> </span><span class=\"nn\">django</span><span class=\"w\"> </span><span class=\"kn\">import</span> <span class=\"n\">forms</span>\n\n\n<span class=\"k\">class</span><span class=\"w\"> </span><span class=\"nc\">DateSelectorWidget</span><span class=\"p\">(</span><span class=\"n\">forms</span><span class=\"o\">.</span><span class=\"n\">MultiWidget</span><span class=\"p\">):</span>\n    <span class=\"k\">def</span><span class=\"w\"> </span><span class=\"fm\">__init__</span><span class=\"p\">(</span><span class=\"bp\">self</span><span class=\"p\">,</span> <span class=\"n\">attrs</span><span class=\"o\">=</span><span class=\"kc\">None</span><span class=\"p\">):</span>\n        <span class=\"n\">days</span> <span class=\"o\">=</span> <span class=\"p\">{</span><span class=\"n\">day</span><span class=\"p\">:</span> <span class=\"n\">day</span> <span class=\"k\">for</span> <span class=\"n\">day</span> <span class=\"ow\">in</span> <span class=\"nb\">range</span><span class=\"p\">(</span><span class=\"mi\">1</span><span class=\"p\">,</span> <span class=\"mi\">32</span><span class=\"p\">)}</span>\n        <span class=\"n\">months</span> <span class=\"o\">=</span> <span class=\"p\">{</span><span class=\"n\">month</span><span class=\"p\">:</span> <span class=\"n\">month</span> <span class=\"k\">for</span> <span class=\"n\">month</span> <span class=\"ow\">in</span> <span class=\"nb\">range</span><span class=\"p\">(</span><span class=\"mi\">1</span><span class=\"p\">,</span> <span class=\"mi\">13</span><span class=\"p\">)}</span>\n        <span class=\"n\">years</span> <span class=\"o\">=</span> <span class=\"p\">{</span><span class=\"n\">year</span><span class=\"p\">:</span> <span class=\"n\">year</span> <span class=\"k\">for</span> <span class=\"n\">year</span> <span class=\"ow\">in</span> <span class=\"p\">[</span><span class=\"mi\">2018</span><span class=\"p\">,</span> <span class=\"mi\">2019</span><span class=\"p\">,</span> <span class=\"mi\">2020</span><span class=\"p\">]}</span>\n        <span class=\"n\">widgets</span> <span class=\"o\">=</span> <span class=\"p\">[</span>\n            <span class=\"n\">forms</span><span class=\"o\">.</span><span class=\"n\">Select</span><span class=\"p\">(</span><span class=\"n\">attrs</span><span class=\"o\">=</span><span class=\"n\">attrs</span><span class=\"p\">,</span> <span class=\"n\">choices</span><span class=\"o\">=</span><span class=\"n\">days</span><span class=\"p\">),</span>\n            <span class=\"n\">forms</span><span class=\"o\">.</span><span class=\"n\">Select</span><span class=\"p\">(</span><span class=\"n\">attrs</span><span class=\"o\">=</span><span class=\"n\">attrs</span><span class=\"p\">,</span> <span class=\"n\">choices</span><span class=\"o\">=</span><span class=\"n\">months</span><span class=\"p\">),</span>\n            <span class=\"n\">forms</span><span class=\"o\">.</span><span class=\"n\">Select</span><span class=\"p\">(</span><span class=\"n\">attrs</span><span class=\"o\">=</span><span class=\"n\">attrs</span><span class=\"p\">,</span> <span class=\"n\">choices</span><span class=\"o\">=</span><span class=\"n\">years</span><span class=\"p\">),</span>\n        <span class=\"p\">]</span>\n        <span class=\"nb\">super</span><span class=\"p\">()</span><span class=\"o\">.</span><span class=\"fm\">__init__</span><span class=\"p\">(</span><span class=\"n\">widgets</span><span class=\"p\">,</span> <span class=\"n\">attrs</span><span class=\"p\">)</span>\n\n    <span class=\"k\">def</span><span class=\"w\"> </span><span class=\"nf\">decompress</span><span class=\"p\">(</span><span class=\"bp\">self</span><span class=\"p\">,</span> <span class=\"n\">value</span><span class=\"p\">):</span>\n        <span class=\"k\">if</span> <span class=\"nb\">isinstance</span><span class=\"p\">(</span><span class=\"n\">value</span><span class=\"p\">,</span> <span class=\"n\">date</span><span class=\"p\">):</span>\n            <span class=\"k\">return</span> <span class=\"p\">[</span><span class=\"n\">value</span><span class=\"o\">.</span><span class=\"n\">day</span><span class=\"p\">,</span> <span class=\"n\">value</span><span class=\"o\">.</span><span class=\"n\">month</span><span class=\"p\">,</span> <span class=\"n\">value</span><span class=\"o\">.</span><span class=\"n\">year</span><span class=\"p\">]</span>\n        <span class=\"k\">elif</span> <span class=\"nb\">isinstance</span><span class=\"p\">(</span><span class=\"n\">value</span><span class=\"p\">,</span> <span class=\"nb\">str</span><span class=\"p\">):</span>\n            <span class=\"n\">year</span><span class=\"p\">,</span> <span class=\"n\">month</span><span class=\"p\">,</span> <span class=\"n\">day</span> <span class=\"o\">=</span> <span class=\"n\">value</span><span class=\"o\">.</span><span class=\"n\">split</span><span class=\"p\">(</span><span class=\"s2\">&quot;-&quot;</span><span class=\"p\">)</span>\n            <span class=\"k\">return</span> <span class=\"p\">[</span><span class=\"n\">day</span><span class=\"p\">,</span> <span class=\"n\">month</span><span class=\"p\">,</span> <span class=\"n\">year</span><span class=\"p\">]</span>\n        <span class=\"k\">return</span> <span class=\"p\">[</span><span class=\"kc\">None</span><span class=\"p\">,</span> <span class=\"kc\">None</span><span class=\"p\">,</span> <span class=\"kc\">None</span><span class=\"p\">]</span>\n\n    <span class=\"k\">def</span><span class=\"w\"> </span><span class=\"nf\">value_from_datadict</span><span class=\"p\">(</span><span class=\"bp\">self</span><span class=\"p\">,</span> <span class=\"n\">data</span><span class=\"p\">,</span> <span class=\"n\">files</span><span class=\"p\">,</span> <span class=\"n\">name</span><span class=\"p\">):</span>\n        <span class=\"n\">day</span><span class=\"p\">,</span> <span class=\"n\">month</span><span class=\"p\">,</span> <span class=\"n\">year</span> <span class=\"o\">=</span> <span class=\"nb\">super</span><span class=\"p\">()</span><span class=\"o\">.</span><span class=\"n\">value_from_datadict</span><span class=\"p\">(</span><span class=\"n\">data</span><span class=\"p\">,</span> <span class=\"n\">files</span><span class=\"p\">,</span> <span class=\"n\">name</span><span class=\"p\">)</span>\n        <span class=\"c1\"># DateField expects a single string that it can parse into a date.</span>\n        <span class=\"k\">return</span> <span class=\"s2\">&quot;</span><span class=\"si\">{}</span><span class=\"s2\">-</span><span class=\"si\">{}</span><span class=\"s2\">-</span><span class=\"si\">{}</span><span class=\"s2\">&quot;</span><span class=\"o\">.</span><span class=\"n\">format</span><span class=\"p\">(</span><span class=\"n\">year</span><span class=\"p\">,</span> <span class=\"n\">month</span><span class=\"p\">,</span> <span class=\"n\">day</span><span class=\"p\">)</span>\n</code></pre></div>\n<p>Konstruktören skapar flera <a class=\"reference internal\" href=\"#django.forms.Select\" title=\"django.forms.Select\"><code class=\"xref py py-class docutils literal notranslate\"><span class=\"pre\">Select</span></code></a> widgetar i en lista. Metoden <code class=\"docutils literal notranslate\"><span class=\"pre\">super()</span></code> använder denna lista för att konfigurera widgeten.</p>\n<p>Den nödvändiga metoden <a class=\"reference internal\" href=\"#django.forms.MultiWidget.decompress\" title=\"django.forms.MultiWidget.decompress\"><code class=\"xref py py-meth docutils literal notranslate\"><span class=\"pre\">decompress()</span></code></a> delar upp ett <code class=\"docutils literal notranslate\"><span class=\"pre\">datetime.date</span></code>-värde i värdena för dag, månad och år som motsvarar varje widget. Om ett ogiltigt datum valdes, till exempel den icke-existerande 30 februari, skickar <a class=\"reference internal\" href=\"/sv/6.0/ref/forms/fields/#django.forms.DateField\" title=\"django.forms.DateField\"><code class=\"xref py py-class docutils literal notranslate\"><span class=\"pre\">DateField</span></code></a> den här metoden en sträng istället, så det måste analyseras. Den sista <code class=\"docutils literal notranslate\"><span class=\"pre\">return</span></code> hanterar när <code class=\"docutils literal notranslate\"><span class=\"pre\">value</span></code> är <code class=\"docutils literal notranslate\"><span class=\"pre\">None</span></code>, vilket innebär att vi inte har några standardvärden för våra underwidgets.</p>\n<p>Standardimplementeringen av <a class=\"reference internal\" href=\"#django.forms.Widget.value_from_datadict\" title=\"django.forms.Widget.value_from_datadict\"><code class=\"xref py py-meth docutils literal notranslate\"><span class=\"pre\">value_from_datadict()</span></code></a> returnerar en lista med värden som motsvarar varje <code class=\"docutils literal notranslate\"><span class=\"pre\">Widget</span></code>. Detta är lämpligt när man använder en <code class=\"docutils literal notranslate\"><span class=\"pre\">MultiWidget</span></code> med en <a class=\"reference internal\" href=\"/sv/6.0/ref/forms/fields/#django.forms.MultiValueField\" title=\"django.forms.MultiValueField\"><code class=\"xref py py-class docutils literal notranslate\"><span class=\"pre\">MultiValueField</span></code></a>. Men eftersom vi vill använda denna widget med en <a class=\"reference internal\" href=\"/sv/6.0/ref/forms/fields/#django.forms.DateField\" title=\"django.forms.DateField\"><code class=\"xref py py-class docutils literal notranslate\"><span class=\"pre\">DateField</span></code></a>, som tar ett enda värde, har vi åsidosatt denna metod. Implementationen här kombinerar data från underwidgetarna till en sträng i det format som <a class=\"reference internal\" href=\"/sv/6.0/ref/forms/fields/#django.forms.DateField\" title=\"django.forms.DateField\"><code class=\"xref py py-class docutils literal notranslate\"><span class=\"pre\">DateField</span></code></a> förväntar sig.</p>\n</dd></dl>\n\n</section>\n</section>\n<section id=\"built-in-widgets\">\n<span id=\"id4\"></span><h2>Inbyggda widgetar<a class=\"heading-anchor\" href=\"#built-in-widgets\"><span class=\"visually-hidden\">Link to this heading</span><span aria-hidden=\"true\">#</span></a></h2>\n<p>Django tillhandahåller en representation av alla grundläggande HTML-widgets, plus några vanligt förekommande grupper av widgets i modulen <code class=\"docutils literal notranslate\"><span class=\"pre\">django.forms.widgets</span></code>, inklusive <a class=\"reference internal\" href=\"#text-widgets\"><span class=\"std std-ref\">inmatning av text</span></a>, <a class=\"reference internal\" href=\"#selector-widgets\"><span class=\"std std-ref\">olika kryssrutor och väljare</span></a>, <a class=\"reference internal\" href=\"#file-upload-widgets\"><span class=\"std std-ref\">uppladdning av filer</span></a> och <a class=\"reference internal\" href=\"#composite-widgets\"><span class=\"std std-ref\">hantering av flervärdesinmatning</span></a>.</p>\n<section id=\"widgets-handling-input-of-text\">\n<span id=\"text-widgets\"></span><h3>Widgets som hanterar inmatning av text<a class=\"heading-anchor\" href=\"#widgets-handling-input-of-text\"><span class=\"visually-hidden\">Link to this heading</span><span aria-hidden=\"true\">#</span></a></h3>\n<p>Dessa widgets använder HTML-elementen <code class=\"docutils literal notranslate\"><span class=\"pre\">input</span></code> och <code class=\"docutils literal notranslate\"><span class=\"pre\">textarea</span></code>.</p>\n<section id=\"textinput\">\n<h4><code class=\"docutils literal notranslate\"><span class=\"pre\">TextInput</span></code><a class=\"heading-anchor\" href=\"#textinput\"><span class=\"visually-hidden\">Link to this heading</span><span aria-hidden=\"true\">#</span></a></h4>\n<dl class=\"py class\">\n<dt class=\"sig sig-object py\" id=\"django.forms.TextInput\">\n<em class=\"property\"><span class=\"k\"><span class=\"pre\">class</span></span><span class=\"w\"> </span></em><span class=\"sig-name descname\"><span class=\"pre\">TextInput</span></span><a class=\"heading-anchor\" href=\"#django.forms.TextInput\"><span class=\"visually-hidden\">Link to this definition</span><span aria-hidden=\"true\">#</span></a></dt>\n<dd><ul class=\"simple\">\n<li><p>inmatningstyp: ”text</p></li>\n<li><p><code class=\"docutils literal notranslate\"><span class=\"pre\">template_name</span></code>: <code class=\"docutils literal notranslate\"><span class=\"pre\">'django/forms/widgets/text.html'</span></code></p></li>\n<li><p>Renderas som: <code class=\"docutils literal notranslate\"><span class=\"pre\">&lt;input</span> <span class=\"pre\">type=&quot;text&quot;</span> <span class=\"pre\">...&gt;</span></code></p></li>\n</ul>\n</dd></dl>\n\n</section>\n<section id=\"numberinput\">\n<h4><code class=\"docutils literal notranslate\"><span class=\"pre\">NummerInmatning</span></code><a class=\"heading-anchor\" href=\"#numberinput\"><span class=\"visually-hidden\">Link to this heading</span><span aria-hidden=\"true\">#</span></a></h4>\n<dl class=\"py class\">\n<dt class=\"sig sig-object py\" id=\"django.forms.NumberInput\">\n<em class=\"property\"><span class=\"k\"><span class=\"pre\">class</span></span><span class=\"w\"> </span></em><span class=\"sig-name descname\"><span class=\"pre\">NumberInput</span></span><a class=\"heading-anchor\" href=\"#django.forms.NumberInput\"><span class=\"visually-hidden\">Link to this definition</span><span aria-hidden=\"true\">#</span></a></dt>\n<dd><ul class=\"simple\">\n<li><p>inmatningstyp: ”tal</p></li>\n<li><p><code class=\"docutils literal notranslate\"><span class=\"pre\">template_name</span></code>: <code class=\"docutils literal notranslate\"><span class=\"pre\">'django/forms/widgets/number.html'</span></code></p></li>\n<li><p>Renderas som: <code class=\"docutils literal notranslate\"><span class=\"pre\">&lt;input</span> <span class=\"pre\">type=&quot;number&quot;</span> <span class=\"pre\">...&gt;</span></code></p></li>\n</ul>\n<p>Tänk på att inte alla webbläsare stöder inmatning av lokaliserade siffror i inmatningstyperna <code class=\"docutils literal notranslate\"><span class=\"pre\">number</span></code>. Django själv undviker att använda dem för fält som har sin <a class=\"reference internal\" href=\"/sv/6.0/ref/forms/fields/#django.forms.Field.localize\" title=\"django.forms.Field.localize\"><code class=\"xref py py-attr docutils literal notranslate\"><span class=\"pre\">localize</span></code></a> egenskap inställd på <code class=\"docutils literal notranslate\"><span class=\"pre\">True</span></code>.</p>\n</dd></dl>\n\n</section>\n<section id=\"emailinput\">\n<h4><code class=\"docutils literal notranslate\"><span class=\"pre\">EmailInput</span></code><a class=\"heading-anchor\" href=\"#emailinput\"><span class=\"visually-hidden\">Link to this heading</span><span aria-hidden=\"true\">#</span></a></h4>\n<dl class=\"py class\">\n<dt class=\"sig sig-object py\" id=\"django.forms.EmailInput\">\n<em class=\"property\"><span class=\"k\"><span class=\"pre\">class</span></span><span class=\"w\"> </span></em><span class=\"sig-name descname\"><span class=\"pre\">EmailInput</span></span><a class=\"heading-anchor\" href=\"#django.forms.EmailInput\"><span class=\"visually-hidden\">Link to this definition</span><span aria-hidden=\"true\">#</span></a></dt>\n<dd><ul class=\"simple\">\n<li><p><code class=\"docutils literal notranslate\"><span class=\"pre\">input_type</span></code>: <code class=\"docutils literal notranslate\"><span class=\"pre\">'email'</span></code></p></li>\n<li><p><code class=\"docutils literal notranslate\"><span class=\"pre\">template_name</span></code>: <code class=\"docutils literal notranslate\"><span class=\"pre\">'django/forms/widgets/email.html'</span></code></p></li>\n<li><p>Renderas som: <code class=\"docutils literal notranslate\"><span class=\"pre\">&lt;input</span> <span class=\"pre\">type=&quot;email&quot;</span> <span class=\"pre\">...&gt;</span></code></p></li>\n</ul>\n</dd></dl>\n\n</section>\n<section id=\"urlinput\">\n<h4><code class=\"docutils literal notranslate\"><span class=\"pre\">URLInput</span></code><a class=\"heading-anchor\" href=\"#urlinput\"><span class=\"visually-hidden\">Link to this heading</span><span aria-hidden=\"true\">#</span></a></h4>\n<dl class=\"py class\">\n<dt class=\"sig sig-object py\" id=\"django.forms.URLInput\">\n<em class=\"property\"><span class=\"k\"><span class=\"pre\">class</span></span><span class=\"w\"> </span></em><span class=\"sig-name descname\"><span class=\"pre\">URLInput</span></span><a class=\"heading-anchor\" href=\"#django.forms.URLInput\"><span class=\"visually-hidden\">Link to this definition</span><span aria-hidden=\"true\">#</span></a></dt>\n<dd><ul class=\"simple\">\n<li><p>inmatningstyp: ”url</p></li>\n<li><p><code class=\"docutils literal notranslate\"><span class=\"pre\">template_name</span></code>: <code class=\"docutils literal notranslate\"><span class=\"pre\">'django/forms/widgets/url.html'</span></code></p></li>\n<li><p>Renderas som: <code class=\"docutils literal notranslate\"><span class=\"pre\">&lt;input</span> <span class=\"pre\">type=&quot;url&quot;</span> <span class=\"pre\">...&gt;</span></code></p></li>\n</ul>\n</dd></dl>\n\n</section>\n<section id=\"colorinput\">\n<h4><code class=\"docutils literal notranslate\"><span class=\"pre\">FärgInmatning</span></code><a class=\"heading-anchor\" href=\"#colorinput\"><span class=\"visually-hidden\">Link to this heading</span><span aria-hidden=\"true\">#</span></a></h4>\n<aside class=\"version-note version-added\" data-version=\"5.2\">\n<p class=\"version-note-title\">New in Django 5.2</p></aside>\n<dl class=\"py class\">\n<dt class=\"sig sig-object py\" id=\"django.forms.ColorInput\">\n<em class=\"property\"><span class=\"k\"><span class=\"pre\">class</span></span><span class=\"w\"> </span></em><span class=\"sig-name descname\"><span class=\"pre\">ColorInput</span></span><a class=\"heading-anchor\" href=\"#django.forms.ColorInput\"><span class=\"visually-hidden\">Link to this definition</span><span aria-hidden=\"true\">#</span></a></dt>\n<dd><ul class=\"simple\">\n<li><p>inmatningstyp: ”färg</p></li>\n<li><p><code class=\"docutils literal notranslate\"><span class=\"pre\">template_name</span></code>:<code class=\"docutils literal notranslate\"><span class=\"pre\">'django/forms/widgets/color.html'</span></code></p></li>\n<li><p>Renderas som: <code class=\"docutils literal notranslate\"><span class=\"pre\">&lt;input</span> <span class=\"pre\">type=&quot;color&quot;</span> <span class=\"pre\">...&gt;</span></code></p></li>\n</ul>\n</dd></dl>\n\n</section>\n<section id=\"searchinput\">\n<h4><code class=\"docutils literal notranslate\"><span class=\"pre\">SökningInput</span></code><a class=\"heading-anchor\" href=\"#searchinput\"><span class=\"visually-hidden\">Link to this heading</span><span aria-hidden=\"true\">#</span></a></h4>\n<aside class=\"version-note version-added\" data-version=\"5.2\">\n<p class=\"version-note-title\">New in Django 5.2</p></aside>\n<dl class=\"py class\">\n<dt class=\"sig sig-object py\" id=\"django.forms.SearchInput\">\n<em class=\"property\"><span class=\"k\"><span class=\"pre\">class</span></span><span class=\"w\"> </span></em><span class=\"sig-name descname\"><span class=\"pre\">SearchInput</span></span><a class=\"heading-anchor\" href=\"#django.forms.SearchInput\"><span class=\"visually-hidden\">Link to this definition</span><span aria-hidden=\"true\">#</span></a></dt>\n<dd><ul class=\"simple\">\n<li><p><code class=\"docutils literal notranslate\"><span class=\"pre\">input_type</span></code>: <code class=\"docutils literal notranslate\"><span class=\"pre\">'search'</span></code></p></li>\n<li><p><code class=\"docutils literal notranslate\"><span class=\"pre\">template_name</span></code>: <code class=\"docutils literal notranslate\"><span class=\"pre\">'django/forms/widgets/search.html'</span></code></p></li>\n<li><p>Renderas som: <code class=\"docutils literal notranslate\"><span class=\"pre\">&lt;input</span> <span class=\"pre\">type=&quot;search&quot;</span> <span class=\"pre\">...&gt;</span></code></p></li>\n</ul>\n</dd></dl>\n\n</section>\n<section id=\"telinput\">\n<h4><code class=\"docutils literal notranslate\"><span class=\"pre\">TelInput</span></code><a class=\"heading-anchor\" href=\"#telinput\"><span class=\"visually-hidden\">Link to this heading</span><span aria-hidden=\"true\">#</span></a></h4>\n<aside class=\"version-note version-added\" data-version=\"5.2\">\n<p class=\"version-note-title\">New in Django 5.2</p></aside>\n<dl class=\"py class\">\n<dt class=\"sig sig-object py\" id=\"django.forms.TelInput\">\n<em class=\"property\"><span class=\"k\"><span class=\"pre\">class</span></span><span class=\"w\"> </span></em><span class=\"sig-name descname\"><span class=\"pre\">TelInput</span></span><a class=\"heading-anchor\" href=\"#django.forms.TelInput\"><span class=\"visually-hidden\">Link to this definition</span><span aria-hidden=\"true\">#</span></a></dt>\n<dd><ul class=\"simple\">\n<li><p>inmatningstyp: ”tel</p></li>\n<li><p><code class=\"docutils literal notranslate\"><span class=\"pre\">template_name</span></code>: <code class=\"docutils literal notranslate\"><span class=\"pre\">'django/forms/widgets/tel.html'</span></code></p></li>\n<li><p>Renderas som: <code class=\"docutils literal notranslate\"><span class=\"pre\">&lt;input</span> <span class=\"pre\">type=&quot;tel&quot;</span> <span class=\"pre\">...&gt;</span></code></p></li>\n</ul>\n<p>Webbläsare utför ingen validering på klientsidan som standard eftersom telefonnummerformat varierar så mycket runt om i världen. Du kan lägga till några genom att ställa in <code class=\"docutils literal notranslate\"><span class=\"pre\">pattern</span></code>, <code class=\"docutils literal notranslate\"><span class=\"pre\">minlength</span></code> eller <code class=\"docutils literal notranslate\"><span class=\"pre\">maxlength</span></code> i argumentet <a class=\"reference internal\" href=\"#django.forms.Widget.attrs\" title=\"django.forms.Widget.attrs\"><code class=\"xref py py-attr docutils literal notranslate\"><span class=\"pre\">Widget.attrs</span></code></a>.</p>\n<p>Dessutom kan du lägga till validering på serversidan till ditt formulärfält med en validerare som <a class=\"reference internal\" href=\"/sv/6.0/ref/validators/#django.core.validators.RegexValidator\" title=\"django.core.validators.RegexValidator\"><code class=\"xref py py-class docutils literal notranslate\"><span class=\"pre\">RegexValidator</span></code></a> eller via tredjepartspaket, t.ex. <a class=\"extlink-pypi reference external\" href=\"https://pypi.org/project/django-phonenumber-field/\">django-phonenumber-field</a>.</p>\n</dd></dl>\n\n</section>\n<section id=\"passwordinput\">\n<h4><code class=\"docutils literal notranslate\"><span class=\"pre\">LösenordInmatning</span></code><a class=\"heading-anchor\" href=\"#passwordinput\"><span class=\"visually-hidden\">Link to this heading</span><span aria-hidden=\"true\">#</span></a></h4>\n<dl class=\"py class\">\n<dt class=\"sig sig-object py\" id=\"django.forms.PasswordInput\">\n<em class=\"property\"><span class=\"k\"><span class=\"pre\">class</span></span><span class=\"w\"> </span></em><span class=\"sig-name descname\"><span class=\"pre\">PasswordInput</span></span><a class=\"heading-anchor\" href=\"#django.forms.PasswordInput\"><span class=\"visually-hidden\">Link to this definition</span><span aria-hidden=\"true\">#</span></a></dt>\n<dd><ul class=\"simple\">\n<li><p>inmatningstyp: ”Lösenord</p></li>\n<li><p><code class=\"docutils literal notranslate\"><span class=\"pre\">template_name</span></code>: <code class=\"docutils literal notranslate\"><span class=\"pre\">'django/forms/widgets/password.html'</span></code></p></li>\n<li><p>Renderas som: <code class=\"docutils literal notranslate\"><span class=\"pre\">&lt;input</span> <span class=\"pre\">type=&quot;password&quot;</span> <span class=\"pre\">...&gt;</span></code></p></li>\n</ul>\n<p>Tar emot ett valfritt argument:</p>\n<dl class=\"py attribute\">\n<dt class=\"sig sig-object py\" id=\"django.forms.PasswordInput.render_value\">\n<span class=\"sig-name descname\"><span class=\"pre\">render_value</span></span><a class=\"heading-anchor\" href=\"#django.forms.PasswordInput.render_value\"><span class=\"visually-hidden\">Link to this definition</span><span aria-hidden=\"true\">#</span></a></dt>\n<dd><p>Bestämmer om widgeten ska ha ett värde ifyllt när formuläret visas igen efter ett valideringsfel (standard är <code class=\"docutils literal notranslate\"><span class=\"pre\">False</span></code>).</p>\n</dd></dl>\n\n</dd></dl>\n\n</section>\n<section id=\"hiddeninput\">\n<h4><code class=\"docutils literal notranslate\"><span class=\"pre\">HiddenInput</span></code><a class=\"heading-anchor\" href=\"#hiddeninput\"><span class=\"visually-hidden\">Link to this heading</span><span aria-hidden=\"true\">#</span></a></h4>\n<dl class=\"py class\">\n<dt class=\"sig sig-object py\" id=\"django.forms.HiddenInput\">\n<em class=\"property\"><span class=\"k\"><span class=\"pre\">class</span></span><span class=\"w\"> </span></em><span class=\"sig-name descname\"><span class=\"pre\">HiddenInput</span></span><a class=\"heading-anchor\" href=\"#django.forms.HiddenInput\"><span class=\"visually-hidden\">Link to this definition</span><span aria-hidden=\"true\">#</span></a></dt>\n<dd><ul class=\"simple\">\n<li><p>inmatningstyp: ”dold</p></li>\n<li><p><code class=\"docutils literal notranslate\"><span class=\"pre\">template_name</span></code>: <code class=\"docutils literal notranslate\"><span class=\"pre\">'django/forms/widgets/hidden.html'</span></code></p></li>\n<li><p>Renderas som: <code class=\"docutils literal notranslate\"><span class=\"pre\">&lt;input</span> <span class=\"pre\">type=&quot;hidden&quot;</span> <span class=\"pre\">...&gt;</span></code></p></li>\n</ul>\n<p>Observera att det också finns en widget av typen <a class=\"reference internal\" href=\"#django.forms.MultipleHiddenInput\" title=\"django.forms.MultipleHiddenInput\"><code class=\"xref py py-class docutils literal notranslate\"><span class=\"pre\">MultipleHiddenInput</span></code></a> som innehåller en uppsättning dolda inmatningselement.</p>\n</dd></dl>\n\n</section>\n<section id=\"dateinput\">\n<h4><code class=\"docutils literal notranslate\"><span class=\"pre\">DatumInmatning</span></code><a class=\"heading-anchor\" href=\"#dateinput\"><span class=\"visually-hidden\">Link to this heading</span><span aria-hidden=\"true\">#</span></a></h4>\n<dl class=\"py class\">\n<dt class=\"sig sig-object py\" id=\"django.forms.DateInput\">\n<em class=\"property\"><span class=\"k\"><span class=\"pre\">class</span></span><span class=\"w\"> </span></em><span class=\"sig-name descname\"><span class=\"pre\">DateInput</span></span><a class=\"heading-anchor\" href=\"#django.forms.DateInput\"><span class=\"visually-hidden\">Link to this definition</span><span aria-hidden=\"true\">#</span></a></dt>\n<dd><ul class=\"simple\">\n<li><p>inmatningstyp: ”text</p></li>\n<li><p><code class=\"docutils literal notranslate\"><span class=\"pre\">template_name</span></code>: <code class=\"docutils literal notranslate\"><span class=\"pre\">'django/forms/widgets/date.html'</span></code></p></li>\n<li><p>Renderas som: <code class=\"docutils literal notranslate\"><span class=\"pre\">&lt;input</span> <span class=\"pre\">type=&quot;text&quot;</span> <span class=\"pre\">...&gt;</span></code></p></li>\n</ul>\n<p>Tar samma argument som <a class=\"reference internal\" href=\"#django.forms.TextInput\" title=\"django.forms.TextInput\"><code class=\"xref py py-class docutils literal notranslate\"><span class=\"pre\">TextInput</span></code></a>, med ytterligare ett valfritt argument:</p>\n<dl class=\"py attribute\">\n<dt class=\"sig sig-object py\" id=\"django.forms.DateInput.format\">\n<span class=\"sig-name descname\"><span class=\"pre\">format</span></span><a class=\"heading-anchor\" href=\"#django.forms.DateInput.format\"><span class=\"visually-hidden\">Link to this definition</span><span aria-hidden=\"true\">#</span></a></dt>\n<dd><p>Det format som fältets initiala värde ska visas i.</p>\n</dd></dl>\n\n<p>Om inget <code class=\"docutils literal notranslate\"><span class=\"pre\">format</span></code>-argument anges är standardformatet det första formatet som hittas i <a class=\"reference internal\" href=\"/sv/6.0/ref/settings/#std-setting-DATE_INPUT_FORMATS\"><code class=\"xref std std-setting docutils literal notranslate\"><span class=\"pre\">DATE_INPUT_FORMATS</span></code></a> och respekterar <a class=\"reference internal\" href=\"/sv/6.0/topics/i18n/formatting/\"><span class=\"doc\">Lokalisering av format</span></a>. formaten <code class=\"docutils literal notranslate\"><span class=\"pre\">%U</span></code>, <code class=\"docutils literal notranslate\"><span class=\"pre\">%W</span></code> och <code class=\"docutils literal notranslate\"><span class=\"pre\">%j</span></code> stöds inte av den här widgeten.</p>\n<aside class=\"admonition-using-the-html5-date-input-type admonition\">\n<p class=\"admonition-title\">Using the HTML5 ”date” input type</p>\n<p>If you are targeting browsers that support the\n<a class=\"reference external\" href=\"https://developer.mozilla.org/en-US/docs/Web/HTML/Element/input/date\">HTML5 ”date” input type</a>, you can override the <code class=\"docutils literal notranslate\"><span class=\"pre\">input_type</span></code>\nattribute to enable the browser’s native date picker:</p>\n<div class=\"code-block\" data-language=\"default\"><div class=\"code-block-toolbar\"><span class=\"code-block-language\">Code</span><button type=\"button\" class=\"copy-button\" data-copy hidden><span class=\"copy-button-label\">Copy</span></button></div><pre role=\"group\" tabindex=\"0\" aria-label=\"Code code\"><code><span class=\"k\">class</span><span class=\"w\"> </span><span class=\"nc\">MyDateInput</span><span class=\"p\">(</span><span class=\"n\">forms</span><span class=\"o\">.</span><span class=\"n\">DateInput</span><span class=\"p\">):</span>\n    <span class=\"n\">input_type</span> <span class=\"o\">=</span> <span class=\"s2\">&quot;date&quot;</span>\n    <span class=\"nb\">format</span> <span class=\"o\">=</span> <span class=\"s2\">&quot;%Y-%m-</span><span class=\"si\">%d</span><span class=\"s2\">&quot;</span>\n</code></pre></div>\n<p>Alternatively:</p>\n<div class=\"code-block\" data-language=\"default\"><div class=\"code-block-toolbar\"><span class=\"code-block-language\">Code</span><button type=\"button\" class=\"copy-button\" data-copy hidden><span class=\"copy-button-label\">Copy</span></button></div><pre role=\"group\" tabindex=\"0\" aria-label=\"Code code\"><code><span class=\"n\">DateInput</span><span class=\"p\">(</span><span class=\"n\">attrs</span><span class=\"o\">=</span><span class=\"p\">{</span><span class=\"s2\">&quot;type&quot;</span><span class=\"p\">:</span> <span class=\"s2\">&quot;date&quot;</span><span class=\"p\">},</span> <span class=\"nb\">format</span><span class=\"o\">=</span><span class=\"s2\">&quot;%Y-%m-</span><span class=\"si\">%d</span><span class=\"s2\">&quot;</span><span class=\"p\">)</span>\n</code></pre></div>\n<p>HTML5 date inputs expect values in the ISO format <code class=\"docutils literal notranslate\"><span class=\"pre\">YYYY-MM-DD</span></code>. If a\ndifferent format is provided, the field may appear empty even when a\nvalue exists. Setting the <code class=\"docutils literal notranslate\"><span class=\"pre\">format</span></code> attribute controls how Django\nprovides the value, but the browser controls how it is displayed.\nHence, the <code class=\"docutils literal notranslate\"><span class=\"pre\">format</span></code> attribute and the <a class=\"reference internal\" href=\"/sv/6.0/ref/settings/#std-setting-DATE_INPUT_FORMATS\"><code class=\"xref std std-setting docutils literal notranslate\"><span class=\"pre\">DATE_INPUT_FORMATS</span></code></a>\nsetting will have no effect on the displayed value.</p>\n</aside>\n</dd></dl>\n\n</section>\n<section id=\"datetimeinput\">\n<h4><code class=\"docutils literal notranslate\"><span class=\"pre\">DateTimeInput</span></code><a class=\"heading-anchor\" href=\"#datetimeinput\"><span class=\"visually-hidden\">Link to this heading</span><span aria-hidden=\"true\">#</span></a></h4>\n<dl class=\"py class\">\n<dt class=\"sig sig-object py\" id=\"django.forms.DateTimeInput\">\n<em class=\"property\"><span class=\"k\"><span class=\"pre\">class</span></span><span class=\"w\"> </span></em><span class=\"sig-name descname\"><span class=\"pre\">DateTimeInput</span></span><a class=\"heading-anchor\" href=\"#django.forms.DateTimeInput\"><span class=\"visually-hidden\">Link to this definition</span><span aria-hidden=\"true\">#</span></a></dt>\n<dd><ul class=\"simple\">\n<li><p>inmatningstyp: ”text</p></li>\n<li><p><code class=\"docutils literal notranslate\"><span class=\"pre\">template_name</span></code>: <code class=\"docutils literal notranslate\"><span class=\"pre\">'django/forms/widgets/datetime.html'</span></code></p></li>\n<li><p>Renderas som: <code class=\"docutils literal notranslate\"><span class=\"pre\">&lt;input</span> <span class=\"pre\">type=&quot;text&quot;</span> <span class=\"pre\">...&gt;</span></code></p></li>\n</ul>\n<p>Tar samma argument som <a class=\"reference internal\" href=\"#django.forms.TextInput\" title=\"django.forms.TextInput\"><code class=\"xref py py-class docutils literal notranslate\"><span class=\"pre\">TextInput</span></code></a>, med ytterligare ett valfritt argument:</p>\n<dl class=\"py attribute\">\n<dt class=\"sig sig-object py\" id=\"django.forms.DateTimeInput.format\">\n<span class=\"sig-name descname\"><span class=\"pre\">format</span></span><a class=\"heading-anchor\" href=\"#django.forms.DateTimeInput.format\"><span class=\"visually-hidden\">Link to this definition</span><span aria-hidden=\"true\">#</span></a></dt>\n<dd><p>Det format som fältets initiala värde ska visas i.</p>\n</dd></dl>\n\n<p>Om inget <code class=\"docutils literal notranslate\"><span class=\"pre\">format</span></code>-argument anges är standardformatet det första formatet som hittas i <a class=\"reference internal\" href=\"/sv/6.0/ref/settings/#std-setting-DATETIME_INPUT_FORMATS\"><code class=\"xref std std-setting docutils literal notranslate\"><span class=\"pre\">DATETIME_INPUT_FORMATS</span></code></a> och respekterar <a class=\"reference internal\" href=\"/sv/6.0/topics/i18n/formatting/\"><span class=\"doc\">Lokalisering av format</span></a>. formaten <code class=\"docutils literal notranslate\"><span class=\"pre\">%U</span></code>, <code class=\"docutils literal notranslate\"><span class=\"pre\">%W</span></code> och <code class=\"docutils literal notranslate\"><span class=\"pre\">%j</span></code> stöds inte av den här widgeten.</p>\n<p>Som standard är mikrosekunderdelen av tidsvärdet alltid satt till <code class=\"docutils literal notranslate\"><span class=\"pre\">0</span></code>. Om mikrosekunder krävs, använd en subklass med attributet <a class=\"reference internal\" href=\"#django.forms.Widget.supports_microseconds\" title=\"django.forms.Widget.supports_microseconds\"><code class=\"xref py py-attr docutils literal notranslate\"><span class=\"pre\">supports_microseconds</span></code></a> satt till <code class=\"docutils literal notranslate\"><span class=\"pre\">True</span></code>.</p>\n</dd></dl>\n\n</section>\n<section id=\"timeinput\">\n<h4><code class=\"docutils literal notranslate\"><span class=\"pre\">TimeInput</span></code><a class=\"heading-anchor\" href=\"#timeinput\"><span class=\"visually-hidden\">Link to this heading</span><span aria-hidden=\"true\">#</span></a></h4>\n<dl class=\"py class\">\n<dt class=\"sig sig-object py\" id=\"django.forms.TimeInput\">\n<em class=\"property\"><span class=\"k\"><span class=\"pre\">class</span></span><span class=\"w\"> </span></em><span class=\"sig-name descname\"><span class=\"pre\">TimeInput</span></span><a class=\"heading-anchor\" href=\"#django.forms.TimeInput\"><span class=\"visually-hidden\">Link to this definition</span><span aria-hidden=\"true\">#</span></a></dt>\n<dd><ul class=\"simple\">\n<li><p>inmatningstyp: ”text</p></li>\n<li><p><code class=\"docutils literal notranslate\"><span class=\"pre\">template_name</span></code>: <code class=\"docutils literal notranslate\"><span class=\"pre\">'django/forms/widgets/time.html'</span></code></p></li>\n<li><p>Renderas som: <code class=\"docutils literal notranslate\"><span class=\"pre\">&lt;input</span> <span class=\"pre\">type=&quot;text&quot;</span> <span class=\"pre\">...&gt;</span></code></p></li>\n</ul>\n<p>Tar samma argument som <a class=\"reference internal\" href=\"#django.forms.TextInput\" title=\"django.forms.TextInput\"><code class=\"xref py py-class docutils literal notranslate\"><span class=\"pre\">TextInput</span></code></a>, med ytterligare ett valfritt argument:</p>\n<dl class=\"py attribute\">\n<dt class=\"sig sig-object py\" id=\"django.forms.TimeInput.format\">\n<span class=\"sig-name descname\"><span class=\"pre\">format</span></span><a class=\"heading-anchor\" href=\"#django.forms.TimeInput.format\"><span class=\"visually-hidden\">Link to this definition</span><span aria-hidden=\"true\">#</span></a></dt>\n<dd><p>Det format som fältets initiala värde ska visas i.</p>\n</dd></dl>\n\n<p>Om inget <code class=\"docutils literal notranslate\"><span class=\"pre\">format</span></code>-argument anges är standardformatet det första formatet som hittas i <a class=\"reference internal\" href=\"/sv/6.0/ref/settings/#std-setting-TIME_INPUT_FORMATS\"><code class=\"xref std std-setting docutils literal notranslate\"><span class=\"pre\">TIME_INPUT_FORMATS</span></code></a> och respekterar <a class=\"reference internal\" href=\"/sv/6.0/topics/i18n/formatting/\"><span class=\"doc\">Lokalisering av format</span></a>.</p>\n<p>För behandling av mikrosekunder, se <a class=\"reference internal\" href=\"#django.forms.DateTimeInput\" title=\"django.forms.DateTimeInput\"><code class=\"xref py py-class docutils literal notranslate\"><span class=\"pre\">DateTimeInput</span></code></a>.</p>\n</dd></dl>\n\n</section>\n<section id=\"textarea\">\n<h4><code class=\"docutils literal notranslate\"><span class=\"pre\">Textarea</span></code><a class=\"heading-anchor\" href=\"#textarea\"><span class=\"visually-hidden\">Link to this heading</span><span aria-hidden=\"true\">#</span></a></h4>\n<dl class=\"py class\">\n<dt class=\"sig sig-object py\" id=\"django.forms.Textarea\">\n<em class=\"property\"><span class=\"k\"><span class=\"pre\">class</span></span><span class=\"w\"> </span></em><span class=\"sig-name descname\"><span class=\"pre\">Textarea</span></span><a class=\"heading-anchor\" href=\"#django.forms.Textarea\"><span class=\"visually-hidden\">Link to this definition</span><span aria-hidden=\"true\">#</span></a></dt>\n<dd><ul class=\"simple\">\n<li><p><code class=\"docutils literal notranslate\"><span class=\"pre\">template_name</span></code>: <code class=\"docutils literal notranslate\"><span class=\"pre\">'django/forms/widgets/textarea.html'</span></code></p></li>\n<li><p>Återges som: <code class=\"docutils literal notranslate\"><span class=\"pre\">.&lt;textarea&gt;.&lt;/textarea&gt;.</span></code></p></li>\n</ul>\n</dd></dl>\n\n</section>\n</section>\n<section id=\"selector-and-checkbox-widgets\">\n<span id=\"selector-widgets\"></span><h3>Väljare och kryssrutor<a class=\"heading-anchor\" href=\"#selector-and-checkbox-widgets\"><span class=\"visually-hidden\">Link to this heading</span><span aria-hidden=\"true\">#</span></a></h3>\n<p>Dessa widgets använder HTML-elementen <code class=\"docutils literal notranslate\"><span class=\"pre\">&lt;select&gt;</span></code>, <code class=\"docutils literal notranslate\"><span class=\"pre\">&lt;input</span> <span class=\"pre\">type=&quot;checkbox&quot;&gt;</span></code> och <code class=\"docutils literal notranslate\"><span class=\"pre\">&lt;input</span> <span class=\"pre\">type=&quot;radio&quot;&gt;</span></code>.</p>\n<p>Widgetar som återger flera val har ett attribut <code class=\"docutils literal notranslate\"><span class=\"pre\">option_template_name</span></code> som anger den mall som används för att återge varje val. Till exempel:, för widgeten <a class=\"reference internal\" href=\"#django.forms.Select\" title=\"django.forms.Select\"><code class=\"xref py py-class docutils literal notranslate\"><span class=\"pre\">Select</span></code></a>, <code class=\"docutils literal notranslate\"><span class=\"pre\">select_option.html</span></code> renderar <code class=\"docutils literal notranslate\"><span class=\"pre\">&lt;option&gt;</span></code> för en <code class=\"docutils literal notranslate\"><span class=\"pre\">&lt;select&gt;</span></code>.</p>\n<section id=\"checkboxinput\">\n<h4><code class=\"docutils literal notranslate\"><span class=\"pre\">CheckboxInput</span></code><a class=\"heading-anchor\" href=\"#checkboxinput\"><span class=\"visually-hidden\">Link to this heading</span><span aria-hidden=\"true\">#</span></a></h4>\n<dl class=\"py class\">\n<dt class=\"sig sig-object py\" id=\"django.forms.CheckboxInput\">\n<em class=\"property\"><span class=\"k\"><span class=\"pre\">class</span></span><span class=\"w\"> </span></em><span class=\"sig-name descname\"><span class=\"pre\">CheckboxInput</span></span><a class=\"heading-anchor\" href=\"#django.forms.CheckboxInput\"><span class=\"visually-hidden\">Link to this definition</span><span aria-hidden=\"true\">#</span></a></dt>\n<dd><ul class=\"simple\">\n<li><p>inmatningstyp: ”Checkbox</p></li>\n<li><p><code class=\"docutils literal notranslate\"><span class=\"pre\">template_name</span></code>: <code class=\"docutils literal notranslate\"><span class=\"pre\">'django/forms/widgets/checkbox.html'</span></code></p></li>\n<li><p>Renderas som: <code class=\"docutils literal notranslate\"><span class=\"pre\">&lt;input</span> <span class=\"pre\">type=&quot;checkbox&quot;</span> <span class=\"pre\">...&gt;</span></code></p></li>\n</ul>\n<p>Tar emot ett valfritt argument:</p>\n<dl class=\"py attribute\">\n<dt class=\"sig sig-object py\" id=\"django.forms.CheckboxInput.check_test\">\n<span class=\"sig-name descname\"><span class=\"pre\">check_test</span></span><a class=\"heading-anchor\" href=\"#django.forms.CheckboxInput.check_test\"><span class=\"visually-hidden\">Link to this definition</span><span aria-hidden=\"true\">#</span></a></dt>\n<dd><p>En anropsbar funktion som tar värdet i <code class=\"docutils literal notranslate\"><span class=\"pre\">CheckboxInput</span></code> och returnerar <code class=\"docutils literal notranslate\"><span class=\"pre\">True</span></code> om kryssrutan ska markeras för det värdet.</p>\n</dd></dl>\n\n</dd></dl>\n\n</section>\n<section id=\"select\">\n<h4><code class=\"docutils literal notranslate\"><span class=\"pre\">Välj</span></code><a class=\"heading-anchor\" href=\"#select\"><span class=\"visually-hidden\">Link to this heading</span><span aria-hidden=\"true\">#</span></a></h4>\n<dl class=\"py class\">\n<dt class=\"sig sig-object py\" id=\"django.forms.Select\">\n<em class=\"property\"><span class=\"k\"><span class=\"pre\">class</span></span><span class=\"w\"> </span></em><span class=\"sig-name descname\"><span class=\"pre\">Select</span></span><a class=\"heading-anchor\" href=\"#django.forms.Select\"><span class=\"visually-hidden\">Link to this definition</span><span aria-hidden=\"true\">#</span></a></dt>\n<dd><ul class=\"simple\">\n<li><p><code class=\"docutils literal notranslate\"><span class=\"pre\">template_name</span></code>: <code class=\"docutils literal notranslate\"><span class=\"pre\">'django/forms/widgets/select.html'</span></code></p></li>\n<li><p><code class=\"docutils literal notranslate\"><span class=\"pre\">option_template_name</span></code>: <code class=\"docutils literal notranslate\"><span class=\"pre\">'django/forms/widgets/select_option.html'</span></code></p></li>\n<li><p>Renderas som: <a href=\"#id1\"><span class=\"problematic\" id=\"id2\">``</span></a>&lt;select&gt;&lt;option …&gt;…``&lt;/select&gt;</p></li>\n</ul>\n<dl class=\"py attribute\">\n<dt class=\"sig sig-object py\" id=\"django.forms.Select.choices\">\n<span class=\"sig-name descname\"><span class=\"pre\">choices</span></span><a class=\"heading-anchor\" href=\"#django.forms.Select.choices\"><span class=\"visually-hidden\">Link to this definition</span><span aria-hidden=\"true\">#</span></a></dt>\n<dd><p>Detta attribut är valfritt om formulärfältet inte har något <code class=\"docutils literal notranslate\"><span class=\"pre\">choices</span></code>-attribut. Om det gör det kommer det att åsidosätta allt du anger här när attributet uppdateras på <a class=\"reference internal\" href=\"/sv/6.0/ref/forms/fields/#django.forms.Field\" title=\"django.forms.Field\"><code class=\"xref py py-class docutils literal notranslate\"><span class=\"pre\">Field</span></code></a>.</p>\n</dd></dl>\n\n</dd></dl>\n\n</section>\n<section id=\"nullbooleanselect\">\n<h4><code class=\"docutils literal notranslate\"><span class=\"pre\">NullBooleanSelect</span></code><a class=\"heading-anchor\" href=\"#nullbooleanselect\"><span class=\"visually-hidden\">Link to this heading</span><span aria-hidden=\"true\">#</span></a></h4>\n<dl class=\"py class\">\n<dt class=\"sig sig-object py\" id=\"django.forms.NullBooleanSelect\">\n<em class=\"property\"><span class=\"k\"><span class=\"pre\">class</span></span><span class=\"w\"> </span></em><span class=\"sig-name descname\"><span class=\"pre\">NullBooleanSelect</span></span><a class=\"heading-anchor\" href=\"#django.forms.NullBooleanSelect\"><span class=\"visually-hidden\">Link to this definition</span><span aria-hidden=\"true\">#</span></a></dt>\n<dd><ul class=\"simple\">\n<li><p><code class=\"docutils literal notranslate\"><span class=\"pre\">template_name</span></code>: <code class=\"docutils literal notranslate\"><span class=\"pre\">'django/forms/widgets/select.html'</span></code></p></li>\n<li><p><code class=\"docutils literal notranslate\"><span class=\"pre\">option_template_name</span></code>: <code class=\"docutils literal notranslate\"><span class=\"pre\">'django/forms/widgets/select_option.html'</span></code></p></li>\n</ul>\n<p>Välj widget med alternativen ”Okänd”, ”Ja” och ”Nej</p>\n</dd></dl>\n\n</section>\n<section id=\"selectmultiple\">\n<h4><code class=\"docutils literal notranslate\"><span class=\"pre\">VäljMultipel</span></code><a class=\"heading-anchor\" href=\"#selectmultiple\"><span class=\"visually-hidden\">Link to this heading</span><span aria-hidden=\"true\">#</span></a></h4>\n<dl class=\"py class\">\n<dt class=\"sig sig-object py\" id=\"django.forms.SelectMultiple\">\n<em class=\"property\"><span class=\"k\"><span class=\"pre\">class</span></span><span class=\"w\"> </span></em><span class=\"sig-name descname\"><span class=\"pre\">SelectMultiple</span></span><a class=\"heading-anchor\" href=\"#django.forms.SelectMultiple\"><span class=\"visually-hidden\">Link to this definition</span><span aria-hidden=\"true\">#</span></a></dt>\n<dd><ul class=\"simple\">\n<li><p><code class=\"docutils literal notranslate\"><span class=\"pre\">template_name</span></code>: <code class=\"docutils literal notranslate\"><span class=\"pre\">'django/forms/widgets/select.html'</span></code></p></li>\n<li><p><code class=\"docutils literal notranslate\"><span class=\"pre\">option_template_name</span></code>: <code class=\"docutils literal notranslate\"><span class=\"pre\">'django/forms/widgets/select_option.html'</span></code></p></li>\n</ul>\n<p>Liknar <a class=\"reference internal\" href=\"#django.forms.Select\" title=\"django.forms.Select\"><code class=\"xref py py-class docutils literal notranslate\"><span class=\"pre\">Select</span></code></a>, men tillåter flera val: <code class=\"docutils literal notranslate\"><span class=\"pre\">.&lt;select</span> <span class=\"pre\">multiple&gt;.&lt;/select&gt;.</span></code></p>\n</dd></dl>\n\n</section>\n<section id=\"radioselect\">\n<h4><code class=\"docutils literal notranslate\"><span class=\"pre\">RadioSelect</span></code><a class=\"heading-anchor\" href=\"#radioselect\"><span class=\"visually-hidden\">Link to this heading</span><span aria-hidden=\"true\">#</span></a></h4>\n<dl class=\"py class\">\n<dt class=\"sig sig-object py\" id=\"django.forms.RadioSelect\">\n<em class=\"property\"><span class=\"k\"><span class=\"pre\">class</span></span><span class=\"w\"> </span></em><span class=\"sig-name descname\"><span class=\"pre\">RadioSelect</span></span><a class=\"heading-anchor\" href=\"#django.forms.RadioSelect\"><span class=\"visually-hidden\">Link to this definition</span><span aria-hidden=\"true\">#</span></a></dt>\n<dd><ul class=\"simple\">\n<li><p><code class=\"docutils literal notranslate\"><span class=\"pre\">template_name</span></code>: <code class=\"docutils literal notranslate\"><span class=\"pre\">'django/forms/widgets/radio.html'</span></code></p></li>\n<li><p><code class=\"docutils literal notranslate\"><span class=\"pre\">option_template_name</span></code>: <code class=\"docutils literal notranslate\"><span class=\"pre\">'django/forms/widgets/radio_option.html'</span></code></p></li>\n</ul>\n<p>Liknar <a class=\"reference internal\" href=\"#django.forms.Select\" title=\"django.forms.Select\"><code class=\"xref py py-class docutils literal notranslate\"><span class=\"pre\">Select</span></code></a>, men återges som en lista med alternativknappar inom <code class=\"docutils literal notranslate\"><span class=\"pre\">&lt;div&gt;</span></code> taggar:</p>\n<div class=\"code-block\" data-language=\"html\"><div class=\"code-block-toolbar\"><span class=\"code-block-language\">Html</span><button type=\"button\" class=\"copy-button\" data-copy hidden><span class=\"copy-button-label\">Copy</span></button></div><pre role=\"group\" tabindex=\"0\" aria-label=\"Html code\"><code><span class=\"p\">&lt;</span><span class=\"nt\">div</span><span class=\"p\">&gt;</span>\n  <span class=\"p\">&lt;</span><span class=\"nt\">div</span><span class=\"p\">&gt;&lt;</span><span class=\"nt\">input</span> <span class=\"na\">type</span><span class=\"o\">=</span><span class=\"s\">&quot;radio&quot;</span> <span class=\"na\">name</span><span class=\"o\">=</span><span class=\"s\">&quot;...&quot;</span><span class=\"p\">&gt;&lt;/</span><span class=\"nt\">div</span><span class=\"p\">&gt;</span>\n  ...\n<span class=\"p\">&lt;/</span><span class=\"nt\">div</span><span class=\"p\">&gt;</span>\n</code></pre></div>\n<p>Om du vill ha mer detaljerad kontroll över den genererade markeringen kan du loopa över radioknapparna i mallen. Anta ett formulär <code class=\"docutils literal notranslate\"><span class=\"pre\">myform</span></code> med ett fält <code class=\"docutils literal notranslate\"><span class=\"pre\">beatles</span></code> som använder en <code class=\"docutils literal notranslate\"><span class=\"pre\">RadioSelect</span></code> som sin widget:</p>\n<div class=\"code-block\" data-language=\"html+django\"><div class=\"code-block-toolbar\"><span class=\"code-block-language\">Django template</span><button type=\"button\" class=\"copy-button\" data-copy hidden><span class=\"copy-button-label\">Copy</span></button></div><pre role=\"group\" tabindex=\"0\" aria-label=\"Django template code\"><code><span class=\"p\">&lt;</span><span class=\"nt\">fieldset</span><span class=\"p\">&gt;</span>\n    <span class=\"p\">&lt;</span><span class=\"nt\">legend</span><span class=\"p\">&gt;</span><span class=\"cp\">{{</span> <span class=\"nv\">myform.beatles.label</span> <span class=\"cp\">}}</span><span class=\"p\">&lt;/</span><span class=\"nt\">legend</span><span class=\"p\">&gt;</span>\n    <span class=\"cp\">{%</span> <span class=\"k\">for</span> <span class=\"nv\">radio</span> <span class=\"k\">in</span> <span class=\"nv\">myform.beatles</span> <span class=\"cp\">%}</span>\n    <span class=\"p\">&lt;</span><span class=\"nt\">div</span> <span class=\"na\">class</span><span class=\"o\">=</span><span class=\"s\">&quot;myradio&quot;</span><span class=\"p\">&gt;</span>\n        <span class=\"cp\">{{</span> <span class=\"nv\">radio</span> <span class=\"cp\">}}</span>\n    <span class=\"p\">&lt;/</span><span class=\"nt\">div</span><span class=\"p\">&gt;</span>\n    <span class=\"cp\">{%</span> <span class=\"k\">endfor</span> <span class=\"cp\">%}</span>\n<span class=\"p\">&lt;/</span><span class=\"nt\">fieldset</span><span class=\"p\">&gt;</span>\n</code></pre></div>\n<p>Detta skulle generera följande HTML:</p>\n<div class=\"code-block\" data-language=\"html\"><div class=\"code-block-toolbar\"><span class=\"code-block-language\">Html</span><button type=\"button\" class=\"copy-button\" data-copy hidden><span class=\"copy-button-label\">Copy</span></button></div><pre role=\"group\" tabindex=\"0\" aria-label=\"Html code\"><code><span class=\"p\">&lt;</span><span class=\"nt\">fieldset</span><span class=\"p\">&gt;</span>\n    <span class=\"p\">&lt;</span><span class=\"nt\">legend</span><span class=\"p\">&gt;</span>Radio buttons<span class=\"p\">&lt;/</span><span class=\"nt\">legend</span><span class=\"p\">&gt;</span>\n    <span class=\"p\">&lt;</span><span class=\"nt\">div</span> <span class=\"na\">class</span><span class=\"o\">=</span><span class=\"s\">&quot;myradio&quot;</span><span class=\"p\">&gt;</span>\n        <span class=\"p\">&lt;</span><span class=\"nt\">label</span> <span class=\"na\">for</span><span class=\"o\">=</span><span class=\"s\">&quot;id_beatles_0&quot;</span><span class=\"p\">&gt;&lt;</span><span class=\"nt\">input</span> <span class=\"na\">id</span><span class=\"o\">=</span><span class=\"s\">&quot;id_beatles_0&quot;</span> <span class=\"na\">name</span><span class=\"o\">=</span><span class=\"s\">&quot;beatles&quot;</span> <span class=\"na\">type</span><span class=\"o\">=</span><span class=\"s\">&quot;radio&quot;</span> <span class=\"na\">value</span><span class=\"o\">=</span><span class=\"s\">&quot;john&quot;</span> <span class=\"na\">required</span><span class=\"p\">&gt;</span> John<span class=\"p\">&lt;/</span><span class=\"nt\">label</span><span class=\"p\">&gt;</span>\n    <span class=\"p\">&lt;/</span><span class=\"nt\">div</span><span class=\"p\">&gt;</span>\n    <span class=\"p\">&lt;</span><span class=\"nt\">div</span> <span class=\"na\">class</span><span class=\"o\">=</span><span class=\"s\">&quot;myradio&quot;</span><span class=\"p\">&gt;</span>\n        <span class=\"p\">&lt;</span><span class=\"nt\">label</span> <span class=\"na\">for</span><span class=\"o\">=</span><span class=\"s\">&quot;id_beatles_1&quot;</span><span class=\"p\">&gt;&lt;</span><span class=\"nt\">input</span> <span class=\"na\">id</span><span class=\"o\">=</span><span class=\"s\">&quot;id_beatles_1&quot;</span> <span class=\"na\">name</span><span class=\"o\">=</span><span class=\"s\">&quot;beatles&quot;</span> <span class=\"na\">type</span><span class=\"o\">=</span><span class=\"s\">&quot;radio&quot;</span> <span class=\"na\">value</span><span class=\"o\">=</span><span class=\"s\">&quot;paul&quot;</span> <span class=\"na\">required</span><span class=\"p\">&gt;</span> Paul<span class=\"p\">&lt;/</span><span class=\"nt\">label</span><span class=\"p\">&gt;</span>\n    <span class=\"p\">&lt;/</span><span class=\"nt\">div</span><span class=\"p\">&gt;</span>\n    <span class=\"p\">&lt;</span><span class=\"nt\">div</span> <span class=\"na\">class</span><span class=\"o\">=</span><span class=\"s\">&quot;myradio&quot;</span><span class=\"p\">&gt;</span>\n        <span class=\"p\">&lt;</span><span class=\"nt\">label</span> <span class=\"na\">for</span><span class=\"o\">=</span><span class=\"s\">&quot;id_beatles_2&quot;</span><span class=\"p\">&gt;&lt;</span><span class=\"nt\">input</span> <span class=\"na\">id</span><span class=\"o\">=</span><span class=\"s\">&quot;id_beatles_2&quot;</span> <span class=\"na\">name</span><span class=\"o\">=</span><span class=\"s\">&quot;beatles&quot;</span> <span class=\"na\">type</span><span class=\"o\">=</span><span class=\"s\">&quot;radio&quot;</span> <span class=\"na\">value</span><span class=\"o\">=</span><span class=\"s\">&quot;george&quot;</span> <span class=\"na\">required</span><span class=\"p\">&gt;</span> George<span class=\"p\">&lt;/</span><span class=\"nt\">label</span><span class=\"p\">&gt;</span>\n    <span class=\"p\">&lt;/</span><span class=\"nt\">div</span><span class=\"p\">&gt;</span>\n    <span class=\"p\">&lt;</span><span class=\"nt\">div</span> <span class=\"na\">class</span><span class=\"o\">=</span><span class=\"s\">&quot;myradio&quot;</span><span class=\"p\">&gt;</span>\n        <span class=\"p\">&lt;</span><span class=\"nt\">label</span> <span class=\"na\">for</span><span class=\"o\">=</span><span class=\"s\">&quot;id_beatles_3&quot;</span><span class=\"p\">&gt;&lt;</span><span class=\"nt\">input</span> <span class=\"na\">id</span><span class=\"o\">=</span><span class=\"s\">&quot;id_beatles_3&quot;</span> <span class=\"na\">name</span><span class=\"o\">=</span><span class=\"s\">&quot;beatles&quot;</span> <span class=\"na\">type</span><span class=\"o\">=</span><span class=\"s\">&quot;radio&quot;</span> <span class=\"na\">value</span><span class=\"o\">=</span><span class=\"s\">&quot;ringo&quot;</span> <span class=\"na\">required</span><span class=\"p\">&gt;</span> Ringo<span class=\"p\">&lt;/</span><span class=\"nt\">label</span><span class=\"p\">&gt;</span>\n    <span class=\"p\">&lt;/</span><span class=\"nt\">div</span><span class=\"p\">&gt;</span>\n<span class=\"p\">&lt;/</span><span class=\"nt\">fieldset</span><span class=\"p\">&gt;</span>\n</code></pre></div>\n<p>Det inkluderade taggarna <code class=\"docutils literal notranslate\"><span class=\"pre\">&lt;label&gt;</span></code>. För att bli mer detaljerad kan du använda varje radioknapps attribut <code class=\"docutils literal notranslate\"><span class=\"pre\">tag</span></code>, <code class=\"docutils literal notranslate\"><span class=\"pre\">choice_label</span></code> och <code class=\"docutils literal notranslate\"><span class=\"pre\">id_for_label</span></code>. Till exempel:, den här mallen…</p>\n<div class=\"code-block\" data-language=\"html+django\"><div class=\"code-block-toolbar\"><span class=\"code-block-language\">Django template</span><button type=\"button\" class=\"copy-button\" data-copy hidden><span class=\"copy-button-label\">Copy</span></button></div><pre role=\"group\" tabindex=\"0\" aria-label=\"Django template code\"><code><span class=\"p\">&lt;</span><span class=\"nt\">fieldset</span><span class=\"p\">&gt;</span>\n    <span class=\"p\">&lt;</span><span class=\"nt\">legend</span><span class=\"p\">&gt;</span><span class=\"cp\">{{</span> <span class=\"nv\">myform.beatles.label</span> <span class=\"cp\">}}</span><span class=\"p\">&lt;/</span><span class=\"nt\">legend</span><span class=\"p\">&gt;</span>\n    <span class=\"cp\">{%</span> <span class=\"k\">for</span> <span class=\"nv\">radio</span> <span class=\"k\">in</span> <span class=\"nv\">myform.beatles</span> <span class=\"cp\">%}</span>\n    <span class=\"p\">&lt;</span><span class=\"nt\">label</span> <span class=\"na\">for</span><span class=\"o\">=</span><span class=\"s\">&quot;</span><span class=\"cp\">{{</span> <span class=\"nv\">radio.id_for_label</span> <span class=\"cp\">}}</span><span class=\"s\">&quot;</span><span class=\"p\">&gt;</span>\n        <span class=\"cp\">{{</span> <span class=\"nv\">radio.choice_label</span> <span class=\"cp\">}}</span>\n        <span class=\"p\">&lt;</span><span class=\"nt\">span</span> <span class=\"na\">class</span><span class=\"o\">=</span><span class=\"s\">&quot;radio&quot;</span><span class=\"p\">&gt;</span><span class=\"cp\">{{</span> <span class=\"nv\">radio.tag</span> <span class=\"cp\">}}</span><span class=\"p\">&lt;/</span><span class=\"nt\">span</span><span class=\"p\">&gt;</span>\n    <span class=\"p\">&lt;/</span><span class=\"nt\">label</span><span class=\"p\">&gt;</span>\n    <span class=\"cp\">{%</span> <span class=\"k\">endfor</span> <span class=\"cp\">%}</span>\n<span class=\"p\">&lt;/</span><span class=\"nt\">fieldset</span><span class=\"p\">&gt;</span>\n</code></pre></div>\n<p>…kommer att resultera i följande HTML:</p>\n<div class=\"code-block\" data-language=\"html\"><div class=\"code-block-toolbar\"><span class=\"code-block-language\">Html</span><button type=\"button\" class=\"copy-button\" data-copy hidden><span class=\"copy-button-label\">Copy</span></button></div><pre role=\"group\" tabindex=\"0\" aria-label=\"Html code\"><code><span class=\"p\">&lt;</span><span class=\"nt\">fieldset</span><span class=\"p\">&gt;</span>\n    <span class=\"p\">&lt;</span><span class=\"nt\">legend</span><span class=\"p\">&gt;</span>Radio buttons<span class=\"p\">&lt;/</span><span class=\"nt\">legend</span><span class=\"p\">&gt;</span>\n    <span class=\"p\">&lt;</span><span class=\"nt\">label</span> <span class=\"na\">for</span><span class=\"o\">=</span><span class=\"s\">&quot;id_beatles_0&quot;</span><span class=\"p\">&gt;</span>\n        John\n        <span class=\"p\">&lt;</span><span class=\"nt\">span</span> <span class=\"na\">class</span><span class=\"o\">=</span><span class=\"s\">&quot;radio&quot;</span><span class=\"p\">&gt;&lt;</span><span class=\"nt\">input</span> <span class=\"na\">id</span><span class=\"o\">=</span><span class=\"s\">&quot;id_beatles_0&quot;</span> <span class=\"na\">name</span><span class=\"o\">=</span><span class=\"s\">&quot;beatles&quot;</span> <span class=\"na\">type</span><span class=\"o\">=</span><span class=\"s\">&quot;radio&quot;</span> <span class=\"na\">value</span><span class=\"o\">=</span><span class=\"s\">&quot;john&quot;</span> <span class=\"na\">required</span><span class=\"p\">&gt;&lt;/</span><span class=\"nt\">span</span><span class=\"p\">&gt;</span>\n    <span class=\"p\">&lt;/</span><span class=\"nt\">label</span><span class=\"p\">&gt;</span>\n    <span class=\"p\">&lt;</span><span class=\"nt\">label</span> <span class=\"na\">for</span><span class=\"o\">=</span><span class=\"s\">&quot;id_beatles_1&quot;</span><span class=\"p\">&gt;</span>\n        Paul\n        <span class=\"p\">&lt;</span><span class=\"nt\">span</span> <span class=\"na\">class</span><span class=\"o\">=</span><span class=\"s\">&quot;radio&quot;</span><span class=\"p\">&gt;&lt;</span><span class=\"nt\">input</span> <span class=\"na\">id</span><span class=\"o\">=</span><span class=\"s\">&quot;id_beatles_1&quot;</span> <span class=\"na\">name</span><span class=\"o\">=</span><span class=\"s\">&quot;beatles&quot;</span> <span class=\"na\">type</span><span class=\"o\">=</span><span class=\"s\">&quot;radio&quot;</span> <span class=\"na\">value</span><span class=\"o\">=</span><span class=\"s\">&quot;paul&quot;</span> <span class=\"na\">required</span><span class=\"p\">&gt;&lt;/</span><span class=\"nt\">span</span><span class=\"p\">&gt;</span>\n    <span class=\"p\">&lt;/</span><span class=\"nt\">label</span><span class=\"p\">&gt;</span>\n    <span class=\"p\">&lt;</span><span class=\"nt\">label</span> <span class=\"na\">for</span><span class=\"o\">=</span><span class=\"s\">&quot;id_beatles_2&quot;</span><span class=\"p\">&gt;</span>\n        George\n        <span class=\"p\">&lt;</span><span class=\"nt\">span</span> <span class=\"na\">class</span><span class=\"o\">=</span><span class=\"s\">&quot;radio&quot;</span><span class=\"p\">&gt;&lt;</span><span class=\"nt\">input</span> <span class=\"na\">id</span><span class=\"o\">=</span><span class=\"s\">&quot;id_beatles_2&quot;</span> <span class=\"na\">name</span><span class=\"o\">=</span><span class=\"s\">&quot;beatles&quot;</span> <span class=\"na\">type</span><span class=\"o\">=</span><span class=\"s\">&quot;radio&quot;</span> <span class=\"na\">value</span><span class=\"o\">=</span><span class=\"s\">&quot;george&quot;</span> <span class=\"na\">required</span><span class=\"p\">&gt;&lt;/</span><span class=\"nt\">span</span><span class=\"p\">&gt;</span>\n    <span class=\"p\">&lt;/</span><span class=\"nt\">label</span><span class=\"p\">&gt;</span>\n    <span class=\"p\">&lt;</span><span class=\"nt\">label</span> <span class=\"na\">for</span><span class=\"o\">=</span><span class=\"s\">&quot;id_beatles_3&quot;</span><span class=\"p\">&gt;</span>\n        Ringo\n        <span class=\"p\">&lt;</span><span class=\"nt\">span</span> <span class=\"na\">class</span><span class=\"o\">=</span><span class=\"s\">&quot;radio&quot;</span><span class=\"p\">&gt;&lt;</span><span class=\"nt\">input</span> <span class=\"na\">id</span><span class=\"o\">=</span><span class=\"s\">&quot;id_beatles_3&quot;</span> <span class=\"na\">name</span><span class=\"o\">=</span><span class=\"s\">&quot;beatles&quot;</span> <span class=\"na\">type</span><span class=\"o\">=</span><span class=\"s\">&quot;radio&quot;</span> <span class=\"na\">value</span><span class=\"o\">=</span><span class=\"s\">&quot;ringo&quot;</span> <span class=\"na\">required</span><span class=\"p\">&gt;&lt;/</span><span class=\"nt\">span</span><span class=\"p\">&gt;</span>\n    <span class=\"p\">&lt;/</span><span class=\"nt\">label</span><span class=\"p\">&gt;</span>\n<span class=\"p\">&lt;/</span><span class=\"nt\">fieldset</span><span class=\"p\">&gt;</span>\n</code></pre></div>\n<p>Om du bestämmer dig för att inte loopa över alternativknapparna - t.ex. om din mall innehåller <code class=\"docutils literal notranslate\"><span class=\"pre\">{{</span> <span class=\"pre\">myform.beatles</span> <span class=\"pre\">}}</span></code> - kommer de att matas ut i en <code class=\"docutils literal notranslate\"><span class=\"pre\">&lt;div&gt;</span></code> med <code class=\"docutils literal notranslate\"><span class=\"pre\">&lt;div&gt;</span></code>-taggar, enligt ovan.</p>\n<p>Den yttre behållaren <code class=\"docutils literal notranslate\"><span class=\"pre\">&lt;div&gt;</span></code> får widgetens <code class=\"docutils literal notranslate\"><span class=\"pre\">id</span></code>-attribut, om det är definierat, eller <a class=\"reference internal\" href=\"/sv/6.0/ref/forms/api/#django.forms.BoundField.auto_id\" title=\"django.forms.BoundField.auto_id\"><code class=\"xref py py-attr docutils literal notranslate\"><span class=\"pre\">BoundField.auto_id</span></code></a> annars.</p>\n<p>När du loopar över radioknapparna innehåller taggarna <code class=\"docutils literal notranslate\"><span class=\"pre\">label</span></code> och <code class=\"docutils literal notranslate\"><span class=\"pre\">input</span></code> attributen <code class=\"docutils literal notranslate\"><span class=\"pre\">for</span></code> respektive <code class=\"docutils literal notranslate\"><span class=\"pre\">id</span></code>. Varje radioknapp har ett <code class=\"docutils literal notranslate\"><span class=\"pre\">id_for_label</span></code>-attribut för att mata ut elementets ID.</p>\n</dd></dl>\n\n</section>\n<section id=\"checkboxselectmultiple\">\n<h4><code class=\"docutils literal notranslate\"><span class=\"pre\">CheckboxSelectMultiple</span></code><a class=\"heading-anchor\" href=\"#checkboxselectmultiple\"><span class=\"visually-hidden\">Link to this heading</span><span aria-hidden=\"true\">#</span></a></h4>\n<dl class=\"py class\">\n<dt class=\"sig sig-object py\" id=\"django.forms.CheckboxSelectMultiple\">\n<em class=\"property\"><span class=\"k\"><span class=\"pre\">class</span></span><span class=\"w\"> </span></em><span class=\"sig-name descname\"><span class=\"pre\">CheckboxSelectMultiple</span></span><a class=\"heading-anchor\" href=\"#django.forms.CheckboxSelectMultiple\"><span class=\"visually-hidden\">Link to this definition</span><span aria-hidden=\"true\">#</span></a></dt>\n<dd><ul class=\"simple\">\n<li><p><code class=\"docutils literal notranslate\"><span class=\"pre\">template_name</span></code>: <code class=\"docutils literal notranslate\"><span class=\"pre\">'django/forms/widgets/checkbox_select.html'</span></code></p></li>\n<li><p><code class=\"docutils literal notranslate\"><span class=\"pre\">option_template_name</span></code>: <code class=\"docutils literal notranslate\"><span class=\"pre\">'django/forms/widgets/checkbox_option.html'</span></code></p></li>\n</ul>\n<p>Liknar <a class=\"reference internal\" href=\"#django.forms.SelectMultiple\" title=\"django.forms.SelectMultiple\"><code class=\"xref py py-class docutils literal notranslate\"><span class=\"pre\">SelectMultiple</span></code></a>, men återges som en lista med kryssrutor:</p>\n<div class=\"code-block\" data-language=\"html\"><div class=\"code-block-toolbar\"><span class=\"code-block-language\">Html</span><button type=\"button\" class=\"copy-button\" data-copy hidden><span class=\"copy-button-label\">Copy</span></button></div><pre role=\"group\" tabindex=\"0\" aria-label=\"Html code\"><code><span class=\"p\">&lt;</span><span class=\"nt\">div</span><span class=\"p\">&gt;</span>\n  <span class=\"p\">&lt;</span><span class=\"nt\">div</span><span class=\"p\">&gt;&lt;</span><span class=\"nt\">input</span> <span class=\"na\">type</span><span class=\"o\">=</span><span class=\"s\">&quot;checkbox&quot;</span> <span class=\"na\">name</span><span class=\"o\">=</span><span class=\"s\">&quot;...&quot;</span> <span class=\"p\">&gt;&lt;/</span><span class=\"nt\">div</span><span class=\"p\">&gt;</span>\n  ...\n<span class=\"p\">&lt;/</span><span class=\"nt\">div</span><span class=\"p\">&gt;</span>\n</code></pre></div>\n<p>Den yttre behållaren <code class=\"docutils literal notranslate\"><span class=\"pre\">&lt;div&gt;</span></code> får widgetens <code class=\"docutils literal notranslate\"><span class=\"pre\">id</span></code>-attribut, om det är definierat, eller <a class=\"reference internal\" href=\"/sv/6.0/ref/forms/api/#django.forms.BoundField.auto_id\" title=\"django.forms.BoundField.auto_id\"><code class=\"xref py py-attr docutils literal notranslate\"><span class=\"pre\">BoundField.auto_id</span></code></a> annars.</p>\n</dd></dl>\n\n<p>Precis som i <a class=\"reference internal\" href=\"#django.forms.RadioSelect\" title=\"django.forms.RadioSelect\"><code class=\"xref py py-class docutils literal notranslate\"><span class=\"pre\">RadioSelect</span></code></a> kan du loopa över de enskilda kryssrutorna för widgetens val. Till skillnad från <a class=\"reference internal\" href=\"#django.forms.RadioSelect\" title=\"django.forms.RadioSelect\"><code class=\"xref py py-class docutils literal notranslate\"><span class=\"pre\">RadioSelect</span></code></a> kommer kryssrutorna inte att innehålla HTML-attributet <code class=\"docutils literal notranslate\"><span class=\"pre\">required</span></code> om fältet är obligatoriskt eftersom webbläsarvalidering skulle kräva att alla kryssrutor är markerade istället för minst en.</p>\n<p>När man loopar över kryssrutorna innehåller taggarna <code class=\"docutils literal notranslate\"><span class=\"pre\">label</span></code> och <code class=\"docutils literal notranslate\"><span class=\"pre\">input</span></code> attributen <code class=\"docutils literal notranslate\"><span class=\"pre\">for</span></code> respektive <code class=\"docutils literal notranslate\"><span class=\"pre\">id</span></code>. Varje kryssruta har ett <code class=\"docutils literal notranslate\"><span class=\"pre\">id_for_label</span></code>-attribut för att mata ut elementets ID.</p>\n</section>\n</section>\n<section id=\"file-upload-widgets\">\n<span id=\"id5\"></span><h3>Widgets för filuppladdning<a class=\"heading-anchor\" href=\"#file-upload-widgets\"><span class=\"visually-hidden\">Link to this heading</span><span aria-hidden=\"true\">#</span></a></h3>\n<section id=\"fileinput\">\n<h4><code class=\"docutils literal notranslate\"><span class=\"pre\">FileInput</span></code><a class=\"heading-anchor\" href=\"#fileinput\"><span class=\"visually-hidden\">Link to this heading</span><span aria-hidden=\"true\">#</span></a></h4>\n<dl class=\"py class\">\n<dt class=\"sig sig-object py\" id=\"django.forms.FileInput\">\n<em class=\"property\"><span class=\"k\"><span class=\"pre\">class</span></span><span class=\"w\"> </span></em><span class=\"sig-name descname\"><span class=\"pre\">FileInput</span></span><a class=\"heading-anchor\" href=\"#django.forms.FileInput\"><span class=\"visually-hidden\">Link to this definition</span><span aria-hidden=\"true\">#</span></a></dt>\n<dd><ul class=\"simple\">\n<li><p><code class=\"docutils literal notranslate\"><span class=\"pre\">template_name</span></code>: <code class=\"docutils literal notranslate\"><span class=\"pre\">'django/forms/widgets/file.html'</span></code></p></li>\n<li><p>Renderas som: <code class=\"docutils literal notranslate\"><span class=\"pre\">&lt;input</span> <span class=\"pre\">type=&quot;file&quot;</span> <span class=\"pre\">...&gt;</span></code></p></li>\n</ul>\n</dd></dl>\n\n</section>\n<section id=\"clearablefileinput\">\n<h4><code class=\"docutils literal notranslate\"><span class=\"pre\">Rensa</span> <span class=\"pre\">filinmatning</span></code><a class=\"heading-anchor\" href=\"#clearablefileinput\"><span class=\"visually-hidden\">Link to this heading</span><span aria-hidden=\"true\">#</span></a></h4>\n<dl class=\"py class\">\n<dt class=\"sig sig-object py\" id=\"django.forms.ClearableFileInput\">\n<em class=\"property\"><span class=\"k\"><span class=\"pre\">class</span></span><span class=\"w\"> </span></em><span class=\"sig-name descname\"><span class=\"pre\">ClearableFileInput</span></span><a class=\"heading-anchor\" href=\"#django.forms.ClearableFileInput\"><span class=\"visually-hidden\">Link to this definition</span><span aria-hidden=\"true\">#</span></a></dt>\n<dd><ul class=\"simple\">\n<li><p><code class=\"docutils literal notranslate\"><span class=\"pre\">template_name</span></code>: <code class=\"docutils literal notranslate\"><span class=\"pre\">'django/forms/widgets/clearable_file_input.html'</span></code></p></li>\n<li><p>Renderas som: <code class=\"docutils literal notranslate\"><span class=\"pre\">&lt;input</span> <span class=\"pre\">type=&quot;file&quot;</span> <span class=\"pre\">...&gt;</span></code> med en extra kryssruta för att rensa fältets värde, om fältet inte är obligatoriskt och har initiala data.</p></li>\n</ul>\n</dd></dl>\n\n</section>\n</section>\n<section id=\"composite-widgets\">\n<span id=\"id6\"></span><h3>Sammansatta widgetar<a class=\"heading-anchor\" href=\"#composite-widgets\"><span class=\"visually-hidden\">Link to this heading</span><span aria-hidden=\"true\">#</span></a></h3>\n<section id=\"multiplehiddeninput\">\n<h4><code class=\"docutils literal notranslate\"><span class=\"pre\">MultipleHiddenInput</span></code><a class=\"heading-anchor\" href=\"#multiplehiddeninput\"><span class=\"visually-hidden\">Link to this heading</span><span aria-hidden=\"true\">#</span></a></h4>\n<dl class=\"py class\">\n<dt class=\"sig sig-object py\" id=\"django.forms.MultipleHiddenInput\">\n<em class=\"property\"><span class=\"k\"><span class=\"pre\">class</span></span><span class=\"w\"> </span></em><span class=\"sig-name descname\"><span class=\"pre\">MultipleHiddenInput</span></span><a class=\"heading-anchor\" href=\"#django.forms.MultipleHiddenInput\"><span class=\"visually-hidden\">Link to this definition</span><span aria-hidden=\"true\">#</span></a></dt>\n<dd><ul class=\"simple\">\n<li><p><code class=\"docutils literal notranslate\"><span class=\"pre\">template_name</span></code>: <code class=\"docutils literal notranslate\"><span class=\"pre\">'django/forms/widgets/multiple_hidden.html'</span></code></p></li>\n<li><p>Renderas som: flera <code class=\"docutils literal notranslate\"><span class=\"pre\">&lt;input</span> <span class=\"pre\">type=&quot;hidden&quot;</span> <span class=\"pre\">...&gt;</span></code> taggar</p></li>\n</ul>\n<p>En widget som hanterar flera dolda widgetar för fält som har en lista med värden.</p>\n</dd></dl>\n\n</section>\n<section id=\"splitdatetimewidget\">\n<h4><code class=\"docutils literal notranslate\"><span class=\"pre\">SplitDateTimeWidget</span></code><a class=\"heading-anchor\" href=\"#splitdatetimewidget\"><span class=\"visually-hidden\">Link to this heading</span><span aria-hidden=\"true\">#</span></a></h4>\n<dl class=\"py class\">\n<dt class=\"sig sig-object py\" id=\"django.forms.SplitDateTimeWidget\">\n<em class=\"property\"><span class=\"k\"><span class=\"pre\">class</span></span><span class=\"w\"> </span></em><span class=\"sig-name descname\"><span class=\"pre\">SplitDateTimeWidget</span></span><a class=\"heading-anchor\" href=\"#django.forms.SplitDateTimeWidget\"><span class=\"visually-hidden\">Link to this definition</span><span aria-hidden=\"true\">#</span></a></dt>\n<dd><ul class=\"simple\">\n<li><p><code class=\"docutils literal notranslate\"><span class=\"pre\">template_name</span></code>: <code class=\"docutils literal notranslate\"><span class=\"pre\">'django/forms/widgets/splitdatetime.html'</span></code></p></li>\n</ul>\n<p>Omslag (med hjälp av <a class=\"reference internal\" href=\"#django.forms.MultiWidget\" title=\"django.forms.MultiWidget\"><code class=\"xref py py-class docutils literal notranslate\"><span class=\"pre\">MultiWidget</span></code></a>) runt två widgets: <a class=\"reference internal\" href=\"#django.forms.DateInput\" title=\"django.forms.DateInput\"><code class=\"xref py py-class docutils literal notranslate\"><span class=\"pre\">DateInput</span></code></a> för datum och <a class=\"reference internal\" href=\"#django.forms.TimeInput\" title=\"django.forms.TimeInput\"><code class=\"xref py py-class docutils literal notranslate\"><span class=\"pre\">TimeInput</span></code></a> för tid. Måste användas med <a class=\"reference internal\" href=\"/sv/6.0/ref/forms/fields/#django.forms.SplitDateTimeField\" title=\"django.forms.SplitDateTimeField\"><code class=\"xref py py-class docutils literal notranslate\"><span class=\"pre\">SplitDateTimeField</span></code></a> snarare än <a class=\"reference internal\" href=\"/sv/6.0/ref/forms/fields/#django.forms.DateTimeField\" title=\"django.forms.DateTimeField\"><code class=\"xref py py-class docutils literal notranslate\"><span class=\"pre\">DateTimeField</span></code></a>.</p>\n<p><code class=\"docutils literal notranslate\"><span class=\"pre\">SplitDateTimeWidget</span></code> har flera valfria argument:</p>\n<dl class=\"py attribute\">\n<dt class=\"sig sig-object py\" id=\"django.forms.SplitDateTimeWidget.date_format\">\n<span class=\"sig-name descname\"><span class=\"pre\">date_format</span></span><a class=\"heading-anchor\" href=\"#django.forms.SplitDateTimeWidget.date_format\"><span class=\"visually-hidden\">Link to this definition</span><span aria-hidden=\"true\">#</span></a></dt>\n<dd><p>Liknande <a class=\"reference internal\" href=\"#django.forms.DateInput.format\" title=\"django.forms.DateInput.format\"><code class=\"xref py py-attr docutils literal notranslate\"><span class=\"pre\">DateInput.format</span></code></a></p>\n</dd></dl>\n\n<dl class=\"py attribute\">\n<dt class=\"sig sig-object py\" id=\"django.forms.SplitDateTimeWidget.time_format\">\n<span class=\"sig-name descname\"><span class=\"pre\">time_format</span></span><a class=\"heading-anchor\" href=\"#django.forms.SplitDateTimeWidget.time_format\"><span class=\"visually-hidden\">Link to this definition</span><span aria-hidden=\"true\">#</span></a></dt>\n<dd><p>Liknande <a class=\"reference internal\" href=\"#django.forms.TimeInput.format\" title=\"django.forms.TimeInput.format\"><code class=\"xref py py-attr docutils literal notranslate\"><span class=\"pre\">TimeInput.format</span></code></a></p>\n</dd></dl>\n\n<dl class=\"py attribute\">\n<dt class=\"sig sig-object py\" id=\"django.forms.SplitDateTimeWidget.date_attrs\">\n<span class=\"sig-name descname\"><span class=\"pre\">date_attrs</span></span><a class=\"heading-anchor\" href=\"#django.forms.SplitDateTimeWidget.date_attrs\"><span class=\"visually-hidden\">Link to this definition</span><span aria-hidden=\"true\">#</span></a></dt>\n<dd></dd></dl>\n\n<dl class=\"py attribute\">\n<dt class=\"sig sig-object py\" id=\"django.forms.SplitDateTimeWidget.time_attrs\">\n<span class=\"sig-name descname\"><span class=\"pre\">time_attrs</span></span><a class=\"heading-anchor\" href=\"#django.forms.SplitDateTimeWidget.time_attrs\"><span class=\"visually-hidden\">Link to this definition</span><span aria-hidden=\"true\">#</span></a></dt>\n<dd><p>Liknar <a class=\"reference internal\" href=\"#django.forms.Widget.attrs\" title=\"django.forms.Widget.attrs\"><code class=\"xref py py-attr docutils literal notranslate\"><span class=\"pre\">Widget.attrs</span></code></a>. En dictionary som innehåller HTML-attribut som ska ställas in på de renderade widgetarna <a class=\"reference internal\" href=\"#django.forms.DateInput\" title=\"django.forms.DateInput\"><code class=\"xref py py-class docutils literal notranslate\"><span class=\"pre\">DateInput</span></code></a> respektive <a class=\"reference internal\" href=\"#django.forms.TimeInput\" title=\"django.forms.TimeInput\"><code class=\"xref py py-class docutils literal notranslate\"><span class=\"pre\">TimeInput</span></code></a>. Om dessa attribut inte är inställda används istället <a class=\"reference internal\" href=\"#django.forms.Widget.attrs\" title=\"django.forms.Widget.attrs\"><code class=\"xref py py-attr docutils literal notranslate\"><span class=\"pre\">Widget.attrs</span></code></a>.</p>\n</dd></dl>\n\n</dd></dl>\n\n</section>\n<section id=\"splithiddendatetimewidget\">\n<h4><code class=\"docutils literal notranslate\"><span class=\"pre\">SplitHiddenDateTimeWidget</span></code><a class=\"heading-anchor\" href=\"#splithiddendatetimewidget\"><span class=\"visually-hidden\">Link to this heading</span><span aria-hidden=\"true\">#</span></a></h4>\n<dl class=\"py class\">\n<dt class=\"sig sig-object py\" id=\"django.forms.SplitHiddenDateTimeWidget\">\n<em class=\"property\"><span class=\"k\"><span class=\"pre\">class</span></span><span class=\"w\"> </span></em><span class=\"sig-name descname\"><span class=\"pre\">SplitHiddenDateTimeWidget</span></span><a class=\"heading-anchor\" href=\"#django.forms.SplitHiddenDateTimeWidget\"><span class=\"visually-hidden\">Link to this definition</span><span aria-hidden=\"true\">#</span></a></dt>\n<dd><ul class=\"simple\">\n<li><p><code class=\"docutils literal notranslate\"><span class=\"pre\">template_name</span></code>: <code class=\"docutils literal notranslate\"><span class=\"pre\">'django/forms/widgets/splithiddendatetime.html'</span></code></p></li>\n</ul>\n<p>Liknar <a class=\"reference internal\" href=\"#django.forms.SplitDateTimeWidget\" title=\"django.forms.SplitDateTimeWidget\"><code class=\"xref py py-class docutils literal notranslate\"><span class=\"pre\">SplitDateTimeWidget</span></code></a>, men använder <a class=\"reference internal\" href=\"#django.forms.HiddenInput\" title=\"django.forms.HiddenInput\"><code class=\"xref py py-class docutils literal notranslate\"><span class=\"pre\">HiddenInput</span></code></a> för både datum och tid.</p>\n</dd></dl>\n\n</section>\n<section id=\"selectdatewidget\">\n<h4><code class=\"docutils literal notranslate\"><span class=\"pre\">SelectDateWidget</span></code><a class=\"heading-anchor\" href=\"#selectdatewidget\"><span class=\"visually-hidden\">Link to this heading</span><span aria-hidden=\"true\">#</span></a></h4>\n<dl class=\"py class\">\n<dt class=\"sig sig-object py\" id=\"django.forms.SelectDateWidget\">\n<em class=\"property\"><span class=\"k\"><span class=\"pre\">class</span></span><span class=\"w\"> </span></em><span class=\"sig-name descname\"><span class=\"pre\">SelectDateWidget</span></span><a class=\"heading-anchor\" href=\"#django.forms.SelectDateWidget\"><span class=\"visually-hidden\">Link to this definition</span><span aria-hidden=\"true\">#</span></a></dt>\n<dd><ul class=\"simple\">\n<li><p><code class=\"docutils literal notranslate\"><span class=\"pre\">template_name</span></code>: <code class=\"docutils literal notranslate\"><span class=\"pre\">'django/forms/widgets/select_date.html'</span></code></p></li>\n</ul>\n<p>Omslag runt tre <a class=\"reference internal\" href=\"#django.forms.Select\" title=\"django.forms.Select\"><code class=\"xref py py-class docutils literal notranslate\"><span class=\"pre\">Select</span></code></a> widgets: en vardera för månad, dag och år.</p>\n<p>Tar emot flera valfria argument:</p>\n<dl class=\"py attribute\">\n<dt class=\"sig sig-object py\" id=\"django.forms.SelectDateWidget.years\">\n<span class=\"sig-name descname\"><span class=\"pre\">years</span></span><a class=\"heading-anchor\" href=\"#django.forms.SelectDateWidget.years\"><span class=\"visually-hidden\">Link to this definition</span><span aria-hidden=\"true\">#</span></a></dt>\n<dd><p>En valfri lista/tupel av år som ska användas i valboxen ”year”. Standard är en lista som innehåller det aktuella året och de kommande 9 åren.</p>\n</dd></dl>\n\n<dl class=\"py attribute\">\n<dt class=\"sig sig-object py\" id=\"django.forms.SelectDateWidget.months\">\n<span class=\"sig-name descname\"><span class=\"pre\">months</span></span><a class=\"heading-anchor\" href=\"#django.forms.SelectDateWidget.months\"><span class=\"visually-hidden\">Link to this definition</span><span aria-hidden=\"true\">#</span></a></dt>\n<dd><p>Ett valfritt antal månader som ska användas i valboxen ”månader”.</p>\n<p>Diktens nycklar motsvarar månadsnumret (1-indexerat) och värdena är de visade månaderna:</p>\n<div class=\"code-block\" data-language=\"default\"><div class=\"code-block-toolbar\"><span class=\"code-block-language\">Code</span><button type=\"button\" class=\"copy-button\" data-copy hidden><span class=\"copy-button-label\">Copy</span></button></div><pre role=\"group\" tabindex=\"0\" aria-label=\"Code code\"><code><span class=\"n\">MONTHS</span> <span class=\"o\">=</span> <span class=\"p\">{</span>\n    <span class=\"mi\">1</span><span class=\"p\">:</span> <span class=\"n\">_</span><span class=\"p\">(</span><span class=\"s2\">&quot;jan&quot;</span><span class=\"p\">),</span>\n    <span class=\"mi\">2</span><span class=\"p\">:</span> <span class=\"n\">_</span><span class=\"p\">(</span><span class=\"s2\">&quot;feb&quot;</span><span class=\"p\">),</span>\n    <span class=\"mi\">3</span><span class=\"p\">:</span> <span class=\"n\">_</span><span class=\"p\">(</span><span class=\"s2\">&quot;mar&quot;</span><span class=\"p\">),</span>\n    <span class=\"mi\">4</span><span class=\"p\">:</span> <span class=\"n\">_</span><span class=\"p\">(</span><span class=\"s2\">&quot;apr&quot;</span><span class=\"p\">),</span>\n    <span class=\"mi\">5</span><span class=\"p\">:</span> <span class=\"n\">_</span><span class=\"p\">(</span><span class=\"s2\">&quot;may&quot;</span><span class=\"p\">),</span>\n    <span class=\"mi\">6</span><span class=\"p\">:</span> <span class=\"n\">_</span><span class=\"p\">(</span><span class=\"s2\">&quot;jun&quot;</span><span class=\"p\">),</span>\n    <span class=\"mi\">7</span><span class=\"p\">:</span> <span class=\"n\">_</span><span class=\"p\">(</span><span class=\"s2\">&quot;jul&quot;</span><span class=\"p\">),</span>\n    <span class=\"mi\">8</span><span class=\"p\">:</span> <span class=\"n\">_</span><span class=\"p\">(</span><span class=\"s2\">&quot;aug&quot;</span><span class=\"p\">),</span>\n    <span class=\"mi\">9</span><span class=\"p\">:</span> <span class=\"n\">_</span><span class=\"p\">(</span><span class=\"s2\">&quot;sep&quot;</span><span class=\"p\">),</span>\n    <span class=\"mi\">10</span><span class=\"p\">:</span> <span class=\"n\">_</span><span class=\"p\">(</span><span class=\"s2\">&quot;oct&quot;</span><span class=\"p\">),</span>\n    <span class=\"mi\">11</span><span class=\"p\">:</span> <span class=\"n\">_</span><span class=\"p\">(</span><span class=\"s2\">&quot;nov&quot;</span><span class=\"p\">),</span>\n    <span class=\"mi\">12</span><span class=\"p\">:</span> <span class=\"n\">_</span><span class=\"p\">(</span><span class=\"s2\">&quot;dec&quot;</span><span class=\"p\">),</span>\n<span class=\"p\">}</span>\n</code></pre></div>\n</dd></dl>\n\n<dl class=\"py attribute\">\n<dt class=\"sig sig-object py\" id=\"django.forms.SelectDateWidget.empty_label\">\n<span class=\"sig-name descname\"><span class=\"pre\">empty_label</span></span><a class=\"heading-anchor\" href=\"#django.forms.SelectDateWidget.empty_label\"><span class=\"visually-hidden\">Link to this definition</span><span aria-hidden=\"true\">#</span></a></dt>\n<dd><p>Om <a class=\"reference internal\" href=\"/sv/6.0/ref/forms/fields/#django.forms.DateField\" title=\"django.forms.DateField\"><code class=\"xref py py-class docutils literal notranslate\"><span class=\"pre\">DateField</span></code></a> inte krävs kommer <a class=\"reference internal\" href=\"#django.forms.SelectDateWidget\" title=\"django.forms.SelectDateWidget\"><code class=\"xref py py-class docutils literal notranslate\"><span class=\"pre\">SelectDateWidget</span></code></a> att ha ett tomt val längst upp i listan (som är <code class=\"docutils literal notranslate\"><span class=\"pre\">---</span></code> som standard). Du kan ändra texten på denna etikett med attributet <code class=\"docutils literal notranslate\"><span class=\"pre\">empty_label</span></code>. <code class=\"docutils literal notranslate\"><span class=\"pre\">empty_label</span></code> kan vara en <code class=\"docutils literal notranslate\"><span class=\"pre\">sträng</span></code>, <code class=\"docutils literal notranslate\"><span class=\"pre\">lista</span></code> eller <code class=\"docutils literal notranslate\"><span class=\"pre\">tupel</span></code>. När en sträng används kommer alla valboxar att ha ett tomt val med denna etikett. Om <code class=\"docutils literal notranslate\"><span class=\"pre\">empty_label</span></code> är en <code class=\"docutils literal notranslate\"><span class=\"pre\">list</span></code> eller <code class=\"docutils literal notranslate\"><span class=\"pre\">tuple</span></code> med 3 strängelement, kommer valboxarna att ha sin egen anpassade etikett. Etiketterna bör vara i denna ordning <code class=\"docutils literal notranslate\"><span class=\"pre\">('year_label',</span> <span class=\"pre\">'month_label',</span> <span class=\"pre\">'day_label')</span></code>.</p>\n<div class=\"code-block\" data-language=\"python\"><div class=\"code-block-toolbar\"><span class=\"code-block-language\">Python</span><button type=\"button\" class=\"copy-button\" data-copy hidden><span class=\"copy-button-label\">Copy</span></button></div><pre role=\"group\" tabindex=\"0\" aria-label=\"Python code\"><code><span class=\"c1\"># A custom empty label with string</span>\n<span class=\"n\">field1</span> <span class=\"o\">=</span> <span class=\"n\">forms</span><span class=\"o\">.</span><span class=\"n\">DateField</span><span class=\"p\">(</span><span class=\"n\">widget</span><span class=\"o\">=</span><span class=\"n\">SelectDateWidget</span><span class=\"p\">(</span><span class=\"n\">empty_label</span><span class=\"o\">=</span><span class=\"s2\">&quot;Nothing&quot;</span><span class=\"p\">))</span>\n\n<span class=\"c1\"># A custom empty label with tuple</span>\n<span class=\"n\">field1</span> <span class=\"o\">=</span> <span class=\"n\">forms</span><span class=\"o\">.</span><span class=\"n\">DateField</span><span class=\"p\">(</span>\n    <span class=\"n\">widget</span><span class=\"o\">=</span><span class=\"n\">SelectDateWidget</span><span class=\"p\">(</span>\n        <span class=\"n\">empty_label</span><span class=\"o\">=</span><span class=\"p\">(</span><span class=\"s2\">&quot;Choose Year&quot;</span><span class=\"p\">,</span> <span class=\"s2\">&quot;Choose Month&quot;</span><span class=\"p\">,</span> <span class=\"s2\">&quot;Choose Day&quot;</span><span class=\"p\">),</span>\n    <span class=\"p\">),</span>\n<span class=\"p\">)</span>\n</code></pre></div>\n</dd></dl>\n\n</dd></dl>\n\n</section>\n</section>\n</section>","rootId":"module-django.forms.widgets","toc":[{"title":"Ange widgetar","anchor":"specifying-widgets","children":[]},{"title":"Ställa in argument för widgets","anchor":"setting-arguments-for-widgets","children":[]},{"title":"Anpassa widgetinstanser","anchor":"customizing-widget-instances","children":[{"title":"Styling av widgetinstanser","anchor":"styling-widget-instances","children":[]},{"title":"Styling av widgetklasser","anchor":"styling-widget-classes","children":[]}]},{"title":"Klasser för baswidgetar","anchor":"base-widget-classes","children":[{"title":"Widget","anchor":"widget","children":[]},{"title":"MultiWidget","anchor":"multiwidget","children":[]}]},{"title":"Inbyggda widgetar","anchor":"built-in-widgets","children":[{"title":"Widgets som hanterar inmatning av text","anchor":"widgets-handling-input-of-text","children":[{"title":"TextInput","anchor":"textinput","children":[]},{"title":"NummerInmatning","anchor":"numberinput","children":[]},{"title":"EmailInput","anchor":"emailinput","children":[]},{"title":"URLInput","anchor":"urlinput","children":[]},{"title":"FärgInmatning","anchor":"colorinput","children":[]},{"title":"SökningInput","anchor":"searchinput","children":[]},{"title":"TelInput","anchor":"telinput","children":[]},{"title":"LösenordInmatning","anchor":"passwordinput","children":[]},{"title":"HiddenInput","anchor":"hiddeninput","children":[]},{"title":"DatumInmatning","anchor":"dateinput","children":[]},{"title":"DateTimeInput","anchor":"datetimeinput","children":[]},{"title":"TimeInput","anchor":"timeinput","children":[]},{"title":"Textarea","anchor":"textarea","children":[]}]},{"title":"Väljare och kryssrutor","anchor":"selector-and-checkbox-widgets","children":[{"title":"CheckboxInput","anchor":"checkboxinput","children":[]},{"title":"Välj","anchor":"select","children":[]},{"title":"NullBooleanSelect","anchor":"nullbooleanselect","children":[]},{"title":"VäljMultipel","anchor":"selectmultiple","children":[]},{"title":"RadioSelect","anchor":"radioselect","children":[]},{"title":"CheckboxSelectMultiple","anchor":"checkboxselectmultiple","children":[]}]},{"title":"Widgets för filuppladdning","anchor":"file-upload-widgets","children":[{"title":"FileInput","anchor":"fileinput","children":[]},{"title":"Rensa filinmatning","anchor":"clearablefileinput","children":[]}]},{"title":"Sammansatta widgetar","anchor":"composite-widgets","children":[{"title":"MultipleHiddenInput","anchor":"multiplehiddeninput","children":[]},{"title":"SplitDateTimeWidget","anchor":"splitdatetimewidget","children":[]},{"title":"SplitHiddenDateTimeWidget","anchor":"splithiddendatetimewidget","children":[]},{"title":"SelectDateWidget","anchor":"selectdatewidget","children":[]}]}]}],"breadcrumbs":[{"docname":"ref/index","title":"API-referens","url":"/sv/6.0/ref/"},{"docname":"ref/forms/index","title":"Formulär","url":"/sv/6.0/ref/forms/"}],"prev":{"docname":"ref/forms/renderers","title":"API för rendering av formulär","url":"/sv/6.0/ref/forms/renderers/"},"next":{"docname":"ref/forms/validation","title":"Validering av formulär och fält","url":"/sv/6.0/ref/forms/validation/"},"formats":{"html":"/sv/6.0/ref/forms/widgets/","markdown":"/sv/6.0/ref/forms/widgets.md","json":"/sv/6.0/ref/forms/widgets.json"},"source":"https://github.com/django/django/blob/stable/6.0.x/docs/ref/forms/widgets.txt","official":"https://docs.djangoproject.com/sv/6.0/ref/forms/widgets/","inVersions":["6.1","6.0","5.2"],"inLocales":["en","sv","zh-hans","ga","fr","ja","id","it","pt-br","ko","es","el","pl"]}