{"title":"Ag obair le foirmeacha","version":"6.1","locale":"ga","docname":"topics/forms/index","url":"/ga/6.1/topics/forms/","canonical":"https://djangodocs.dev/ga/6.1/topics/forms/","summary":"Maidir leis an doiciméad seo Soláthraíonn an doiciméad seo réamhrá ar buneilimintí na bhfoirmeacha gréasáin agus conas a láimhseálfar iad i Django Chun breathnú…","html":"<h1>Ag obair le foirmeacha<a class=\"heading-anchor\" href=\"#working-with-forms\"><span class=\"visually-hidden\">Link to this heading</span><span aria-hidden=\"true\">#</span></a></h1>\n<aside class=\"admonition-about-this-document admonition\">\n<p class=\"admonition-title\">Maidir leis an doiciméad seo</p>\n<p>Soláthraíonn an doiciméad seo réamhrá ar buneilimintí na bhfoirmeacha gréasáin agus conas a láimhseálfar iad i Django Chun breathnú níos mionsonraithe ar réimsí sonracha de API na bhfoirmeacha, féach:doc: /ref/forms/api, :doc: /ref/forms/fields, agus:doc: /ref/forms/validation.</p>\n</aside>\n<p>Mura bhfuil tú ag pleanáil láithreáin ghréasáin agus feidhmchláir a thógáil nach ndéanann aon rud ach ábhar a fhoilsiú, agus nach nglacann sé le hionchur ó do chuairteoirí, beidh ort foirmeacha a thuiscint agus a úsáid.</p>\n<p>Soláthraíonn Django raon uirlisí agus leabharlanna chun cabhrú leat foirmeacha a thógáil chun glacadh le hionchur ó chuairteoirí an láithreáin, agus ansin an t-ionchur a phróiseáil agus</p>\n<section id=\"html-forms\">\n<h2>Foirmeacha HTML<a class=\"heading-anchor\" href=\"#html-forms\"><span class=\"visually-hidden\">Link to this heading</span><span aria-hidden=\"true\">#</span></a></h2>\n<p>&lt;form&gt;I HTML, is bailiúchán eilimintí é foirm taobh istigh de <a href=\"#id1\"><span class=\"problematic\" id=\"id2\">``</span></a>...&lt;/form&gt; <a href=\"#id3\"><span class=\"problematic\" id=\"id4\">``</span></a>a ligeann do chuairteoir rudaí a dhéanamh mar téacs a iontráil, roghanna a roghnú, rudaí nó rialuithe a ionramháil, agus mar sin de, agus ansin an fhaisnéis sin a sheoladh ar ais chuig an bhfreastalaí.</p>\n<p>Tá cuid de na heilimintí comhéadain foirme seo - ionchur téacs nó boscaí seiceála - tógtha isteach i HTML féin. Tá daoine eile i bhfad níos casta; de ghnáth úsáidfidh comhéadan a chuireann roghnóir dáta suas nó a ligeann duit sleamhnán a bhogadh nó rialuithe a ionramháil JavaScript agus CSS chomh maith le heilimintí foirme HTML &lt;input&gt;```chun na héifeachtaí seo a bhaint amach.</p>\n<p>Chomh maith lena eilimintí &lt;input&gt;```, ní mór do fhoirm dhá rud a shonrú:</p>\n<ul class=\"simple\">\n<li><p><em>áite</em>: an URL ar chóir na sonraí a fhreagraíonn d'ionchur an úsáideora a thabhairt ar ais</p></li>\n<li><p><em>how</em>: the HTTP method the data should be returned by</p></li>\n</ul>\n<p>Mar shampla, tá roinnt eilimintí <code class=\"docutils literal notranslate\"><span class=\"pre\">`sa</span> <span class=\"pre\">fhoirm</span> <span class=\"pre\">logála</span> <span class=\"pre\">isteach</span> <span class=\"pre\">do</span> <span class=\"pre\">riarachán</span> <span class=\"pre\">Django&lt;input&gt;:</span> <span class=\"pre\">ceann</span> <span class=\"pre\">de</span> <span class=\"pre\">``type=&quot;text&quot;</span></code> don ainm úsáideora, ceann de <code class=\"docutils literal notranslate\"><span class=\"pre\">type=&quot;password&quot;</span></code> don phasfhocal, agus ceann de <code class=\"docutils literal notranslate\"><span class=\"pre\">type=&quot;submit&quot;</span></code> don chnaipe “Logáil isteach”. Tá roinnt réimsí téacs i bhfolach ann freisin nach bhfeiceann an t-úsáideoir, a úsáideann Django chun a chinneadh cad atá le déanamh ina dhiaidh sin.</p>\n<p>Insíonn sé leis an mbrabhsálaí freisin gur chóir na sonraí foirme a sheoladh chuig an URL a sh &lt;form&gt;onraítear sa tréith <a href=\"#id1\"><span class=\"problematic\" id=\"id2\">``</span></a>`` <a href=\"#id3\"><span class=\"problematic\" id=\"id4\">``</span></a>`` <a href=\"#id5\"><span class=\"problematic\" id=\"id6\">``</span></a>`` <a href=\"#id7\"><span class=\"problematic\" id=\"id8\">``</span></a>`` - /admin/` - agus gur chóir iad a sheoladh ag baint úsáide as an meicníocht HTTP a shonraítear leis an tréith <code class=\"docutils literal notranslate\"><span class=\"pre\">modh</span></code> - post `.</p>\n<p>Nuair a spreagtar an eilim &lt;input type=&quot;submit&quot; value=&quot;Log in&quot;&gt;int <code class=\"docutils literal notranslate\"><span class=\"pre\">`,</span> <span class=\"pre\">cuirtear</span> <span class=\"pre\">na</span> <span class=\"pre\">sonraí</span> <span class=\"pre\">ar</span> <span class=\"pre\">ais</span> <span class=\"pre\">chuig</span> <span class=\"pre\">``/admin/</span></code>.</p>\n<section id=\"get-and-post\">\n<h3><code class=\"docutils literal notranslate\"><span class=\"pre\">GET</span></code> agus <a href=\"#id1\"><span class=\"problematic\" id=\"id2\">``</span></a>POST ``<a class=\"heading-anchor\" href=\"#get-and-post\"><span class=\"visually-hidden\">Link to this heading</span><span aria-hidden=\"true\">#</span></a></h3>\n<p>Is iad <code class=\"docutils literal notranslate\"><span class=\"pre\">GET</span></code> agus <a href=\"#id1\"><span class=\"problematic\" id=\"id2\">`</span></a>POST <a href=\"#id3\"><span class=\"problematic\" id=\"id4\">``</span></a>na modhanna HTTP amháin atá le húsáid agus tú ag déileáil le foirmeacha.</p>\n<p>Cuirtear foirm logála isteach Django ar ais ag baint úsáide as an modh POST `, ina ndéanann an brabhsálaí sonraí na bhfoirme suas, iad a ionchódú lena tharchur, seolann sé chuig an bhfreastalaí, agus ansin faigheann sé a fhreagra ar ais.</p>\n<p>I gcodarsnacht leis sin, cuireann GET` na sonraí curtha isteach i sreang, agus úsáideann sé seo chun URL a chumadh. Tá an seoladh san URL ina gcaithfear na sonraí a sheoladh, chomh maith leis na heochracha agus na luachanna sonraí. Is féidir leat é seo a fheiceáil i ngníomh má dhéanann tú cuardach sa dhoiciméadú Django, a tháirgfidh URL den fhoirm <code class=\"docutils literal notranslate\"><span class=\"pre\">https://docs.djangoproject.com/search/?q=forms&amp;release=1</span></code>.</p>\n<p>Is gnách go n-úsáidtear GET` agus <a href=\"#id1\"><span class=\"problematic\" id=\"id2\">`</span></a>POST <a href=\"#id3\"><span class=\"problematic\" id=\"id4\">``</span></a>chun críocha éagsúla.</p>\n<p>Ba chóir d'aon iarratas a d'fhéadfaí a úsáid chun staid an chórais a athrú - mar shampla, iarratas a dhéanann athruithe sa bhunachar sonraí - <a href=\"#id1\"><span class=\"problematic\" id=\"id2\">`</span></a>POST <a href=\"#id3\"><span class=\"problematic\" id=\"id4\">``</span></a>a úsáid. Níor chóir <a href=\"#id5\"><span class=\"problematic\" id=\"id6\">`</span></a>GET <a href=\"#id7\"><span class=\"problematic\" id=\"id8\">``</span></a>a úsáid ach amháin le haghaidh iarratais nach ndéanann difear do staid an chórais.</p>\n<p>Bheadh GET ``mí-oiriúnach freisin d'fhoirm pasfhocal, toisc go mbeadh an pasfhocal le feiceáil sa URL, agus dá bhrí sin, i stair an bhrabhsálaí agus i logaí freastalaí, go léir i dtéacs simplí. Ní bheadh sé oiriúnach do chainníochtaí móra sonraí, nó do shonraí dénártha, mar shampla íomhá. Is riosca slándála é feidhmchlár gréasáin a úsáideann iarratais `GET ``ar fhoirmeacha riaracháin: is féidir go mbeadh sé éasca d'ionsaitheoir aithris a dhéanamh ar iarratas foirme chun rochtain a fháil ar chodanna íogaire den chóras. Tugann ``POST `, in éineacht le cosaintí eile cosúil le Django: Doc: <a href=\"#id1\"><span class=\"problematic\" id=\"id2\">`</span></a>Cosaint CSRF <a href=\"#id3\"><span class=\"problematic\" id=\"id4\">`</span></a>níos mó smachta ar rochtain &lt;/ref/csrf/&gt;.</p>\n<p>Ar an láimh eile, tá GET` oiriúnach do rudaí cosúil le foirm chuardaigh gréasáin, toisc gur féidir na URLanna a léiríonn iarratas <code class=\"docutils literal notranslate\"><span class=\"pre\">GET</span></code> a leabharmharcáil, a roinnt nó a athchur isteach go héasca.</p>\n</section>\n</section>\n<section id=\"django-s-role-in-forms\">\n<h2>Ról Django i bhfoirmeacha<a class=\"heading-anchor\" href=\"#django-s-role-in-forms\"><span class=\"visually-hidden\">Link to this heading</span><span aria-hidden=\"true\">#</span></a></h2>\n<p>Is gnó casta é foirmeacha láimhseála. Smaoinigh ar riarachán Django, áit a bhféadfadh go mbeadh gá go leor míreanna sonraí de roinnt cineálacha éagsúla a ullmhú le taispeáint i bhfoirm, a léiriú mar HTML, a chur in eagar ag baint úsáide as comhéadan áisiúil, filleadh ar ais chuig an bhfreastalaí, a bhailíochtú agus a ghlanadh, agus ansin a shábháil nó</p>\n<p>Is féidir le feidhmiúlacht fhoirme Django codanna móra den obair seo a shimpliú agus a uathoibriú, agus féadann sé é a dhéanamh níos sábháilte freisin ná mar a bheadh mórchuid na ríomhchláraitheoirí in ann a dhéanamh sa chód a sc</p>\n<p>Láimhseálann Django trí chuid ar leith den obair a bhaineann le foirmeacha:</p>\n<ul class=\"simple\">\n<li><p>sonraí a ullmhú agus a athstruchtúrú chun iad a dhéanamh réidh le rindreáil</p></li>\n<li><p>foirmeacha HTML a chruthú do na sonraí</p></li>\n<li><p>foirmeacha agus sonraí curtha isteach ón gcliant a fháil agus a phróiseáil</p></li>\n</ul>\n<p>Is féidir aithe* cód a scríobh a dhéanann é seo go léir de láimh, ach is féidir le Django aire a thabhairt dó go léir duit.</p>\n</section>\n<section id=\"forms-in-django\">\n<h2>Foirmeacha i Django<a class=\"heading-anchor\" href=\"#forms-in-django\"><span class=\"visually-hidden\">Link to this heading</span><span aria-hidden=\"true\">#</span></a></h2>\n<p>Tá cur síos déanta againn ar fhoirmeacha HTML go hachomair, ach níl HTML &lt;form&gt;```` ach cuid amháin den innealra a theastaíonn.</p>\n<p>I gcomhthéacs iarratais gréasáin, d'fhéadfadh 'foirm' tagairt a dhéanamh don HTML sin <a href=\"#id1\"><span class=\"problematic\" id=\"id2\">``</span></a>&lt;form&gt;, nó don Django:Class: `Foirm a tháirgeann í, nó do na sonraí struchtúrtha ar ais nuair a chuirtear isteach í, nó don bhailiúchán oibre deireadh go deireadh na gcodanna seo.</p>\n<section id=\"the-django-form-class\">\n<h3>An rang Django: Class: Form<a class=\"heading-anchor\" href=\"#the-django-form-class\"><span class=\"visually-hidden\">Link to this heading</span><span aria-hidden=\"true\">#</span></a></h3>\n<p>I gcroílár an chórais comhpháirteanna seo tá rang Django's:Class: Form. Ar an mbealach céanna a dhéanann samhail Django cur síos ar struchtúr loighciúil réada, a iompar, agus an bealach a léirítear a chodanna dúinn, a: aicme: Foirm cur síos ar fhoirm agus socraíonn sé conas a oibríonn sé agus a fheictear.</p>\n<p>Ar bhealach cosúil le réimsí rang samhail a léarscáil go réimsí bunachar sonraí, léarscáil réimsí ranga foirme chuig eilimintí foirm HTML &lt;input&gt;```. (A: Aicme: Mapáil ModelForm `réimsí ranga samhail chuig eilimintí foirm HTML `` &lt;input&gt;trí a: class: `Form; seo a bhfuil riarachán Django bunaithe air.)</p>\n<p>Is ranganna iad réimsí foirme iad féin; bainistíonn siad sonraí foirme agus déanann siad bailíochtú nuair a chuirtear foirm isteach. A: Aicme: Láimhseálann DateField agus a:class: FileField cineálacha an-éagsúla sonraí agus caithfidh siad rudaí éagsúla a dhéanamh leis.</p>\n<p>Léirítear réimse foirme d'úsáideoir sa bhrabhsálaí mar “giuirléid” HTML - píosa innealra comhéadan úsáideora. Tá réamhshocrú cuí ag gach cineál réimse: doc: Aicme giuirléid, ach is féidir iad seo a shárú &lt;/ref/forms/widgets/&gt; de réir mar is gá.</p>\n</section>\n<section id=\"instantiating-processing-and-rendering-forms\">\n<h3>Foirmeacha a thionscnamh, a phróiseáil agus a rindreáil<a class=\"heading-anchor\" href=\"#instantiating-processing-and-rendering-forms\"><span class=\"visually-hidden\">Link to this heading</span><span aria-hidden=\"true\">#</span></a></h3>\n<p>Agus réad á rindreáil i Django, is ginearálta déanaimid:</p>\n<ol class=\"arabic simple\">\n<li><p>faigh greim air sa radharc (faigh ón mbunachar sonraí é, mar shampla)</p></li>\n<li><p>cuir chuig comhthéacs an teimpléid é</p></li>\n<li><p>é a leathnú go marcáil HTML ag úsáid athróga teimpléad</p></li>\n</ol>\n<p>Is éard atá i gceist le foirm a rindreáil i dteimpléad beagnach an obair chéanna le haon chineál réad eile a rindreáil, ach tá roinnt príomhdhifríochtaí ann.</p>\n<p>I gcás samhail samhail nach raibh aon sonraí ann, is annamh a bheadh sé úsáideach riamh aon rud a dhéanamh leis i dteimpléad. Ar an láimh eile, bíonn ciall foirfe foirm neamhdhaonra a thabhairt - sin an rud a dhéanaimid nuair is mian linn go ndéanfadh an t-úsáideoir é a dhaonrú.</p>\n<p>Mar sin nuair a láimhseálann muid samhail samhail i radharc, is gnách go mbímid é a aisghabháil ón mbunachar sonraí. Nuair a bhíonn muid ag déileáil le foirm de ghnáth déanaimid í sa radharc.</p>\n<p>Nuair a dhéanaimid foirm a chruthú, is féidir linn a roghnú í a fhágáil folamh nó í a réamhdhíonrú, mar shampla le:</p>\n<ul class=\"simple\">\n<li><p>sonraí ó shampla samhail shábháilte (mar atá i gcás foirmeacha riaracháin le haghaidh eagarthóireachta)</p></li>\n<li><p>sonraí atá curtha le chéile againn ó fhoinsí eile</p></li>\n<li><p>sonraí a fuarthas ó aighneacht foirm HTML roimhe seo</p></li>\n</ul>\n<p>Is é an ceann deireanach de na cásanna seo an ceann is suimiúla, toisc gurb é an rud a fhágann gur féidir d'úsáideoirí ní amháin láithreán gréasáin a léamh, ach faisnéis a sheoladh ar ais chuige freisin.</p>\n</section>\n</section>\n<section id=\"building-a-form\">\n<h2>Foirm a thógáil<a class=\"heading-anchor\" href=\"#building-a-form\"><span class=\"visually-hidden\">Link to this heading</span><span aria-hidden=\"true\">#</span></a></h2>\n<section id=\"the-work-that-needs-to-be-done\">\n<h3>An obair is gá a dhéanamh<a class=\"heading-anchor\" href=\"#the-work-that-needs-to-be-done\"><span class=\"visually-hidden\">Link to this heading</span><span aria-hidden=\"true\">#</span></a></h3>\n<p>Cuir i gcás gur mhaith leat foirm shimplí a chruthú ar do shuíomh Gréasáin, d'fhonn ainm an úsáideora a fháil. Bheadh rud éigin mar seo ag teastáil uait i do theimpléad:</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\">form</span> <span class=\"na\">action</span><span class=\"o\">=</span><span class=\"s\">&quot;/your-name/&quot;</span> <span class=\"na\">method</span><span class=\"o\">=</span><span class=\"s\">&quot;post&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;your_name&quot;</span><span class=\"p\">&gt;</span>Your name: <span class=\"p\">&lt;/</span><span class=\"nt\">label</span><span class=\"p\">&gt;</span>\n    <span class=\"p\">&lt;</span><span class=\"nt\">input</span> <span class=\"na\">id</span><span class=\"o\">=</span><span class=\"s\">&quot;your_name&quot;</span> <span class=\"na\">type</span><span class=\"o\">=</span><span class=\"s\">&quot;text&quot;</span> <span class=\"na\">name</span><span class=\"o\">=</span><span class=\"s\">&quot;your_name&quot;</span> <span class=\"na\">value</span><span class=\"o\">=</span><span class=\"s\">&quot;</span><span class=\"cp\">{{</span> <span class=\"nv\">current_name</span> <span class=\"cp\">}}</span><span class=\"s\">&quot;</span><span class=\"p\">&gt;</span>\n    <span class=\"p\">&lt;</span><span class=\"nt\">input</span> <span class=\"na\">type</span><span class=\"o\">=</span><span class=\"s\">&quot;submit&quot;</span> <span class=\"na\">value</span><span class=\"o\">=</span><span class=\"s\">&quot;OK&quot;</span><span class=\"p\">&gt;</span>\n<span class=\"p\">&lt;/</span><span class=\"nt\">form</span><span class=\"p\">&gt;</span>\n</code></pre></div>\n<p>Insíonn sé seo don bhrabhsálaí sonraí na bhfoirme a thabhairt ar ais chuig an URL <code class=\"docutils literal notranslate\"><span class=\"pre\">/your-ainm/</span></code>, ag baint úsáide as an modh <code class=\"docutils literal notranslate\"><span class=\"pre\">POST</span> <span class=\"pre\">``.</span> <span class=\"pre\">Taispeánfaidh</span> <span class=\"pre\">sé</span> <span class=\"pre\">réimse</span> <span class=\"pre\">téacs,</span> <span class=\"pre\">lipéadaithe</span> <span class=\"pre\">“Do</span> <span class=\"pre\">ainm:”,</span> <span class=\"pre\">agus</span> <span class=\"pre\">cnaipe</span> <span class=\"pre\">marcáilte</span> <span class=\"pre\">“OK”.</span> <span class=\"pre\">Má</span> <span class=\"pre\">tá</span> <span class=\"pre\">athróg</span> <span class=\"pre\">``current_name</span></code> sa chomhthéacs teimpléid, úsáidfear é sin chun an réimse <code class=\"docutils literal notranslate\"><span class=\"pre\">your_name</span></code> réamh-líonadh.</p>\n<p>Beidh amharc ag teastáil uait a léiríonn an teimpléad ina bhfuil an fhoirm HTML, agus is féidir leis an réimse <code class=\"docutils literal notranslate\"><span class=\"pre\">current_name</span></code> a sholáthar de réir mar is cuí.</p>\n<p>Nuair a chuirtear an fhoirm isteach, beidh sonraí na foirme san iarratas <a href=\"#id1\"><span class=\"problematic\" id=\"id2\">``</span></a>POST <a href=\"#id3\"><span class=\"problematic\" id=\"id4\">``</span></a>a sheoltar chuig an bhfreastalaí.</p>\n<p>Anois beidh radharc ag teastáil uait freisin a fhreagraíonn don URL <code class=\"docutils literal notranslate\"><span class=\"pre\">/d'ainm/</span></code> sin a gheobhaidh na péirí eochair/luacha cuí san iarratas, agus ansin iad a phróiseáil.</p>\n<p>Is foirm an-simplí é seo. Go praiticiúil, d'fhéadfadh go mbeadh mórán nó na céadta réimsí i bhfoirm, a d'fhéadfadh go mbeadh go leor acu a réamhdhaonrú, agus b'fhéidir go bhfuilimid ag súil go n-oibreoidh an t-úsáideoir tríd an timthriall eagarthóireach-chur isteach arís agus arís eile</p>\n<p>B'fhéidir go mbeidh roinnt bailíochtaithe ag teastáil uainn sa bhrabhsálaí, fiú sula gcuirtear an fhoirm isteach; b'fhéidir gur mhaith linn réimsí i bhfad níos casta a úsáid, a ligeann don úsáideoir rudaí a dhéanamh cosúil le dátaí a roghnú ó fhéilire agus mar sin de.</p>\n<p>Ag an bpointe seo tá sé i bhfad níos éasca Django a fháil chun an chuid is mó den obair seo a dhéanamh dúinn.</p>\n</section>\n<section id=\"building-a-form-in-django\">\n<h3>Foirm a thógáil i Django<a class=\"heading-anchor\" href=\"#building-a-form-in-django\"><span class=\"visually-hidden\">Link to this heading</span><span aria-hidden=\"true\">#</span></a></h3>\n<section id=\"the-form-class\">\n<h4>An rang: aicme: Foirm<a class=\"heading-anchor\" href=\"#the-form-class\"><span class=\"visually-hidden\">Link to this heading</span><span aria-hidden=\"true\">#</span></a></h4>\n<p>Tá a fhios againn cheana féin cén chuma atá againn ar ár bhfoirm HTML. Is é seo an pointe tosaigh atá againn dó i Django:</p>\n<figure class=\"code-block code-block-captioned\" data-language=\"python\"><figcaption class=\"code-block-caption\"><code class=\"docutils literal notranslate\"><span class=\"pre\">foirme.py</span></code></figcaption>\n<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=\"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\">NameForm</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\">your_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\">label</span><span class=\"o\">=</span><span class=\"s2\">&quot;Your name&quot;</span><span class=\"p\">,</span> <span class=\"n\">max_length</span><span class=\"o\">=</span><span class=\"mi\">100</span><span class=\"p\">)</span>\n</code></pre></figure>\n<p>Sainmhíníonn sé seo a: aicme: Foirm aicme le réimse amháin (<code class=\"docutils literal notranslate\"><span class=\"pre\">your_name</span></code>). Chuireamar lipéad atá cairdiúil don duine i bhfeidhm ar an réimse, a bheidh le feiceáil sa &lt;label&gt;```nuair a rinneofar é (cé sa chás seo, is é an:attr: ~field.label a shonraíomar an ceann céanna i ndáiríre a ghinteofaí go huathoibríoch dá bhfágfaimis é).</p>\n<p>Sainmhínítear uasfhad incheadaithe an réimse ag: attr: ~charfield.max_Length. Déanann sé seo dhá rud. Cuireann sé <code class=\"docutils literal notranslate\"><span class=\"pre\">maxlength</span> <span class=\"pre\">=&quot;100&quot;</span></code> ar an HTML <code class=\"docutils literal notranslate\"><span class=\"pre\">&lt;input&gt;</span></code> (mar sin ba chóir don bhrabhsálaí cosc ar an úsáideoir níos mó ná an líon sin carachtair a iontráil sa chéad áit). Ciallaíonn sé freisin nuair a fhaigheann Django an fhoirm ar ais ón mbrabhsálaí, go ndéanfaidh sé fad na sonraí a bhailíochtú.</p>\n<p>A <a class=\"reference internal\" href=\"/ga/6.1/ref/forms/api/#django.forms.Form\" title=\"django.forms.Form\"><code class=\"xref py py-class docutils literal notranslate\"><span class=\"pre\">Form</span></code></a> instance has an <a class=\"reference internal\" href=\"/ga/6.1/ref/forms/api/#django.forms.Form.is_valid\" title=\"django.forms.Form.is_valid\"><code class=\"xref py py-meth docutils literal notranslate\"><span class=\"pre\">is_valid()</span></code></a> method, which runs\nvalidation routines for all its fields. When this method is called, if all\nfields contain valid data, it will:</p>\n<ul class=\"simple\">\n<li><p>tuairisceán <code class=\"docutils literal notranslate\"><span class=\"pre\">True</span></code></p></li>\n<li><p>cuir sonraí na foirme ina tréith: attr: ~form.Cleaned_Data.</p></li>\n</ul>\n<p>Beidh cuma ar an bhfoirm iomlán, nuair a rindreáiltear den chéad uair, mar seo a leanas:</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\">label</span> <span class=\"na\">for</span><span class=\"o\">=</span><span class=\"s\">&quot;your_name&quot;</span><span class=\"p\">&gt;</span>Your name: <span class=\"p\">&lt;/</span><span class=\"nt\">label</span><span class=\"p\">&gt;</span>\n<span class=\"p\">&lt;</span><span class=\"nt\">input</span> <span class=\"na\">id</span><span class=\"o\">=</span><span class=\"s\">&quot;your_name&quot;</span> <span class=\"na\">type</span><span class=\"o\">=</span><span class=\"s\">&quot;text&quot;</span> <span class=\"na\">name</span><span class=\"o\">=</span><span class=\"s\">&quot;your_name&quot;</span> <span class=\"na\">maxlength</span><span class=\"o\">=</span><span class=\"s\">&quot;100&quot;</span> <span class=\"na\">required</span><span class=\"p\">&gt;</span>\n</code></pre></div>\n<p>Tabhair faoi deara nach n-áirítear ion** na clibeanna <code class=\"docutils literal notranslate\"><span class=\"pre\">&lt;form&gt;</span></code>, nó cnaipe cuir isteach. Beidh orainn iad siúd féin a sholáthar sa teimpléad.</p>\n</section>\n<section id=\"the-view\">\n<span id=\"using-a-form-in-a-view\"></span><h4>An radharc<a class=\"heading-anchor\" href=\"#the-view\"><span class=\"visually-hidden\">Link to this heading</span><span aria-hidden=\"true\">#</span></a></h4>\n<p>Déantar sonraí foirme a sheoltar ar ais chuig suíomh Gréasáin Django a phróiseáil le dearcadh, de ghnáth an dearcadh céanna a d'fhoilsigh an fhoirm Ligeann sé seo dúinn cuid den loighic chéanna a athúsáid.</p>\n<p>Chun an fhoirm a láimhseáil ní mór dúinn í a chur isteach sa radharc don URL áit ar mhaith linn go bhfoilsíodh í:</p>\n<figure class=\"code-block code-block-captioned\" data-language=\"python\"><figcaption class=\"code-block-caption\"><code class=\"docutils literal notranslate\"><span class=\"pre\">views.py</span></code></figcaption>\n<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=\"kn\">from</span><span class=\"w\"> </span><span class=\"nn\">django.http</span><span class=\"w\"> </span><span class=\"kn\">import</span> <span class=\"n\">HttpResponseRedirect</span>\n<span class=\"kn\">from</span><span class=\"w\"> </span><span class=\"nn\">django.shortcuts</span><span class=\"w\"> </span><span class=\"kn\">import</span> <span class=\"n\">render</span>\n\n<span class=\"kn\">from</span><span class=\"w\"> </span><span class=\"nn\">.forms</span><span class=\"w\"> </span><span class=\"kn\">import</span> <span class=\"n\">NameForm</span>\n\n\n<span class=\"k\">def</span><span class=\"w\"> </span><span class=\"nf\">get_name</span><span class=\"p\">(</span><span class=\"n\">request</span><span class=\"p\">):</span>\n    <span class=\"c1\"># if this is a POST request we need to process the form data</span>\n    <span class=\"k\">if</span> <span class=\"n\">request</span><span class=\"o\">.</span><span class=\"n\">method</span> <span class=\"o\">==</span> <span class=\"s2\">&quot;POST&quot;</span><span class=\"p\">:</span>\n        <span class=\"c1\"># create a form instance and populate it with data from the request:</span>\n        <span class=\"n\">form</span> <span class=\"o\">=</span> <span class=\"n\">NameForm</span><span class=\"p\">(</span><span class=\"n\">request</span><span class=\"o\">.</span><span class=\"n\">POST</span><span class=\"p\">)</span>\n        <span class=\"c1\"># check whether it&#39;s valid:</span>\n        <span class=\"k\">if</span> <span class=\"n\">form</span><span class=\"o\">.</span><span class=\"n\">is_valid</span><span class=\"p\">():</span>\n            <span class=\"c1\"># process the data in form.cleaned_data as required</span>\n            <span class=\"c1\"># ...</span>\n            <span class=\"c1\"># redirect to a new URL:</span>\n            <span class=\"k\">return</span> <span class=\"n\">HttpResponseRedirect</span><span class=\"p\">(</span><span class=\"s2\">&quot;/thanks/&quot;</span><span class=\"p\">)</span>\n\n    <span class=\"c1\"># if a GET (or any other method) we&#39;ll create a blank form</span>\n    <span class=\"k\">else</span><span class=\"p\">:</span>\n        <span class=\"n\">form</span> <span class=\"o\">=</span> <span class=\"n\">NameForm</span><span class=\"p\">()</span>\n\n    <span class=\"k\">return</span> <span class=\"n\">render</span><span class=\"p\">(</span><span class=\"n\">request</span><span class=\"p\">,</span> <span class=\"s2\">&quot;name.html&quot;</span><span class=\"p\">,</span> <span class=\"p\">{</span><span class=\"s2\">&quot;form&quot;</span><span class=\"p\">:</span> <span class=\"n\">form</span><span class=\"p\">})</span>\n</code></pre></figure>\n<p>Má thagann muid ar an radharc seo le hiarratas <a href=\"#id1\"><span class=\"problematic\" id=\"id2\">``</span></a>GET <a href=\"#id3\"><span class=\"problematic\" id=\"id4\">``</span></a>, cruthóidh sé sampla foirme folamh agus cuirfidh sé i gcomhthéacs an teimpléid atá le léiriú. Seo an rud is féidir linn a bheith ag súil go dtarlóidh an chéad uair a thugaimid cuairt ar an URL.</p>\n<p>Má chuirtear an fhoirm isteach ag baint úsáide as iarratas <code class=\"docutils literal notranslate\"><span class=\"pre\">POST</span> <span class=\"pre\">``,</span> <span class=\"pre\">cruthóidh</span> <span class=\"pre\">an</span> <span class=\"pre\">dearcadh</span> <span class=\"pre\">sampla</span> <span class=\"pre\">foirme</span> <span class=\"pre\">arís</span> <span class=\"pre\">agus</span> <span class=\"pre\">líonfaidh</span> <span class=\"pre\">sé</span> <span class=\"pre\">le</span> <span class=\"pre\">sonraí</span> <span class=\"pre\">ón</span> <span class=\"pre\">iarratas:</span> <span class=\"pre\">``form</span> <span class=\"pre\">=</span> <span class=\"pre\">AinmForm</span> <span class=\"pre\">(request.post)</span></code> Tugtar “sonraí ceangailteach leis an bhfoirm” air seo (foirme*teorann* í anois).</p>\n<p>Glaoimid modh <code class=\"docutils literal notranslate\"><span class=\"pre\">is_valid</span> <span class=\"pre\">()</span> <span class=\"pre\">``ar</span> <span class=\"pre\">an</span> <span class=\"pre\">bhfoirm;</span> <span class=\"pre\">mura</span> <span class=\"pre\">bhfuil</span> <span class=\"pre\">sé</span> <span class=\"pre\">``True</span></code>, téimid ar ais chuig an teimpléad leis an bhfoirm. An uair seo níl an fhoirm folamh a thuilleadh (<em>untheor</em>) mar sin déanfar na sonraí a cuireadh isteach roimhe seo sa fhoirm HTML, áit ar féidir í a chur in eagar agus a cheartú de réir mar is gá.</p>\n<p>Más é <code class=\"docutils literal notranslate\"><span class=\"pre\">is_valid</span> <span class=\"pre\">()</span> <span class=\"pre\">```True</span></code>, beidh muid in ann anois na sonraí foirme bailíochtaithe go léir a fháil ina tréith <code class=\"docutils literal notranslate\"><span class=\"pre\">cleaned_data</span></code>. Is féidir linn na sonraí seo a úsáid chun an bunachar sonraí a nuashonrú nó próiseáil eile a dhéanamh sula seolfaimid atreorú HTTP chuig an mbrabhsálaí ag insint dó cá háit a rachaidh</p>\n</section>\n<section id=\"the-template\">\n<span id=\"topics-forms-index-basic-form-template\"></span><h4>An teimpléad<a class=\"heading-anchor\" href=\"#the-template\"><span class=\"visually-hidden\">Link to this heading</span><span aria-hidden=\"true\">#</span></a></h4>\n<p>Ní gá dúinn mórán a dhéanamh inár dteimpléad <code class=\"docutils literal notranslate\"><span class=\"pre\">name.html</span></code>:</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\">form</span> <span class=\"na\">action</span><span class=\"o\">=</span><span class=\"s\">&quot;/your-name/&quot;</span> <span class=\"na\">method</span><span class=\"o\">=</span><span class=\"s\">&quot;post&quot;</span><span class=\"p\">&gt;</span>\n    <span class=\"cp\">{%</span> <span class=\"k\">csrf_token</span> <span class=\"cp\">%}</span>\n    <span class=\"cp\">{{</span> <span class=\"nv\">form</span> <span class=\"cp\">}}</span>\n    <span class=\"p\">&lt;</span><span class=\"nt\">input</span> <span class=\"na\">type</span><span class=\"o\">=</span><span class=\"s\">&quot;submit&quot;</span> <span class=\"na\">value</span><span class=\"o\">=</span><span class=\"s\">&quot;Submit&quot;</span><span class=\"p\">&gt;</span>\n<span class=\"p\">&lt;/</span><span class=\"nt\">form</span><span class=\"p\">&gt;</span>\n</code></pre></div>\n<p>Déanfar réimsí uile na foirme agus a dtréithe a dhíphacáil isteach i marcáil HTML ón <code class=\"docutils literal notranslate\"><span class=\"pre\">{{form}}</span></code> sin ag teanga teimpléad Django.</p>\n<aside class=\"admonition-forms-and-cross-site-request-forgery-protection admonition\">\n<p class=\"admonition-title\">Foirmeacha agus Iarratas ar Trasláithreán Cosaint ar Fhol</p>\n<p>Seolann Django le cosaint éasca le húsáid:doc: cosaint i gcoinne Forgeasaithe Iarratais Tras-Láithreach' &lt;/ref/csrf&gt;. Nuair a chuirtear foirm isteach trí `POST ``le cosaint CSRF cumasaithe ní mór duit an chlib teimpléad:ttag: `csrf_token a úsáid mar atá sa sampla roimhe seo. Mar sin féin, ós rud é nach bhfuil cosaint CSRF ceangailte go díreach le foirmeacha i dteimpléid, fágtar an chlib seo as na samplaí seo a leanas sa doiciméad seo.</p>\n</aside>\n<aside class=\"admonition-html5-input-types-and-browser-validation admonition\">\n<p class=\"admonition-title\">Cineálacha ionchuir HTML5 agus bailíochtú brabh</p>\n<p>Má chuimsíonn d'fhoirm a:class: ~django.forms.URLField, an:class: ~django.forms.emailField nó aon chineál réimse sláireach, úsáidfidh Django na cineálacha ionchuir <code class=\"docutils literal notranslate\"><span class=\"pre\">url</span> <span class=\"pre\">``,</span> <span class=\"pre\">`email</span></code> agus <code class=\"docutils literal notranslate\"><span class=\"pre\">Number</span></code> HTML5. De réir réamhshocraithe, féadfaidh brabhsálaithe a bhailíochtú féin a chur i bhfeidhm ar na réimsí seo, a d'fhéadfadh a bheith níos déine ná bailíochtú Django. Más mian leat an t-iompar seo a dhíchumasú, socraigh an tréith <code class=\"docutils literal notranslate\"><span class=\"pre\">novalidate</span></code> ar an gclib <a href=\"#id1\"><span class=\"problematic\" id=\"id2\">``</span></a>foirm <a href=\"#id3\"><span class=\"problematic\" id=\"id4\">``</span></a>, nó sonraigh giuirléid dhifriúil ar an réimse, cosúil:class: textInput.</p>\n</aside>\n<p>&lt;form&gt;Tá foirm gréasáin oibre againn anois, a thuairiscítear ag Django: Class: Form, a phróiseáiltear ag radharc, agus a rindreáiltear mar HTML <a href=\"#id1\"><span class=\"problematic\" id=\"id2\">``</span></a><a href=\"#id3\"><span class=\"problematic\" id=\"id4\">`</span></a>.</p>\n<p>Sin gach rud a theastaíonn uait chun tosú, ach cuireann creat na bhfoirmeacha i bhfad níos mó ar do mhéar. Nuair a thuigeann tú buneilimintí an phróisis a thuairiscítear thuas, ba chóir duit a bheith réidh chun gnéithe eile den chóras foirmeacha a thuiscint agus réidh chun beagán níos mó a fhoghlaim faoin innealra bunúsach.</p>\n</section>\n</section>\n</section>\n<section id=\"more-about-django-form-classes\">\n<h2>Tuilleadh faoi ranganna Django:Class: Form<a class=\"heading-anchor\" href=\"#more-about-django-form-classes\"><span class=\"visually-hidden\">Link to this heading</span><span aria-hidden=\"true\">#</span></a></h2>\n<p>Cruthaítear gach rang foirme mar fho-aicmí de: aicme: django.forms.form nó:class: Django.Forms.ModelForm. Is féidir leat smaoineamh ar <code class=\"docutils literal notranslate\"><span class=\"pre\">ModelForm</span></code> mar fho-aicme de <code class=\"docutils literal notranslate\"><span class=\"pre\">Form</span></code>. Tá feidhmiúlacht choiteann ag <code class=\"docutils literal notranslate\"><span class=\"pre\">Foirm</span> <span class=\"pre\">``agus</span> <span class=\"pre\">`ModelForm</span></code> i ndáiríre ó rang <a href=\"#id1\"><span class=\"problematic\" id=\"id2\">``</span></a>BaseForm <a href=\"#id3\"><span class=\"problematic\" id=\"id4\">``</span></a>(príobháideach), ach is annamh a bhíonn an mionsonraí cur chun feidhme seo tábhachtach.</p>\n<aside class=\"admonition-models-and-forms admonition\">\n<p class=\"admonition-title\">Múnlaí agus Foirmeacha</p>\n<p>Déanta na fírinne má úsáidfear d'fhoirm chun samhail Django a chur leis nó a chur in eagar go díreach, is féidir le a:doc: ModelForm go leor ama, iarrachta agus cód a shábháil duit, toisc go dtógfaidh sé foirm, mar aon leis na réimsí cuí &lt;/topics/forms/modelforms&gt; agus a gcuid tréithe, ó rang <a href=\"#id1\"><span class=\"problematic\" id=\"id2\">``</span></a>Samhail <a href=\"#id3\"><span class=\"problematic\" id=\"id4\">``</span></a>.</p>\n</aside>\n<section id=\"bound-and-unbound-form-instances\">\n<h3>Cásanna foirmeacha ceangailte agus gan cheangal<a class=\"heading-anchor\" href=\"#bound-and-unbound-form-instances\"><span class=\"visually-hidden\">Link to this heading</span><span aria-hidden=\"true\">#</span></a></h3>\n<p>Tá an t-idirdhealú idir: ref: ref-forms-api-bound-unbord tábhachtach:</p>\n<ul class=\"simple\">\n<li><p>Níl aon sonraí a bhaineann le foirm neamhcheangailte leis. Nuair a dhéanfar é don úsáideoir, beidh sé folamh nó beidh luachanna réamhshocraithe ann.</p></li>\n<li><p>Tá sonraí curtha isteach ag foirm cheangailte, agus dá bhrí sin is féidir í a úsáid chun a rá an bhfuil na sonraí sin bailí. Má dhéantar foirm cheangailte neamhbhailí a léiriú, féadfaidh teachtaireachtaí earráide inlíne a áireamh ann ag insint don úsáideoir na sonraí</p></li>\n</ul>\n<p>Inseoidh an tréith foirm 's:attr: ~form.is_bound duit an bhfuil sonraí ceangailte ag foirm nó nach bhfuil.</p>\n</section>\n<section id=\"more-on-fields\">\n<h3>Tuilleadh ar réimsí<a class=\"heading-anchor\" href=\"#more-on-fields\"><span class=\"visually-hidden\">Link to this heading</span><span aria-hidden=\"true\">#</span></a></h3>\n<p>Smaoinigh ar fhoirm níos úsáideach ná ár sampla íosta thuas, a d'fhéadfaimis a úsáid chun feidhmiúlacht “déan teagmháil liom” a chur i bhfeidhm ar shuíomh Gréasáin pearsanta:</p>\n<figure class=\"code-block code-block-captioned\" data-language=\"python\"><figcaption class=\"code-block-caption\"><code class=\"docutils literal notranslate\"><span class=\"pre\">foirme.py</span></code></figcaption>\n<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=\"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\">ContactForm</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\">subject</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\">max_length</span><span class=\"o\">=</span><span class=\"mi\">100</span><span class=\"p\">)</span>\n    <span class=\"n\">message</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    <span class=\"n\">contact_email</span> <span class=\"o\">=</span> <span class=\"n\">forms</span><span class=\"o\">.</span><span class=\"n\">EmailField</span><span class=\"p\">()</span>\n    <span class=\"n\">urgent</span> <span class=\"o\">=</span> <span class=\"n\">forms</span><span class=\"o\">.</span><span class=\"n\">BooleanField</span><span class=\"p\">(</span><span class=\"n\">required</span><span class=\"o\">=</span><span class=\"kc\">False</span><span class=\"p\">)</span>\n</code></pre></figure>\n<p>Our earlier form used a single field, <code class=\"docutils literal notranslate\"><span class=\"pre\">your_name</span></code>, a <a class=\"reference internal\" href=\"/ga/6.1/ref/forms/fields/#django.forms.CharField\" title=\"django.forms.CharField\"><code class=\"xref py py-class docutils literal notranslate\"><span class=\"pre\">CharField</span></code></a>. In\nthis case, our form has four fields: <code class=\"docutils literal notranslate\"><span class=\"pre\">subject</span></code>, <code class=\"docutils literal notranslate\"><span class=\"pre\">message</span></code>,\n<code class=\"docutils literal notranslate\"><span class=\"pre\">contact_email</span></code> and <code class=\"docutils literal notranslate\"><span class=\"pre\">urgent</span></code>. <a class=\"reference internal\" href=\"/ga/6.1/ref/forms/fields/#django.forms.CharField\" title=\"django.forms.CharField\"><code class=\"xref py py-class docutils literal notranslate\"><span class=\"pre\">CharField</span></code></a>, <a class=\"reference internal\" href=\"/ga/6.1/ref/forms/fields/#django.forms.EmailField\" title=\"django.forms.EmailField\"><code class=\"xref py py-class docutils literal notranslate\"><span class=\"pre\">EmailField</span></code></a> and\n<a class=\"reference internal\" href=\"/ga/6.1/ref/forms/fields/#django.forms.BooleanField\" title=\"django.forms.BooleanField\"><code class=\"xref py py-class docutils literal notranslate\"><span class=\"pre\">BooleanField</span></code></a> are just three of the available field types; a full list\ncan be found in <a class=\"reference internal\" href=\"/ga/6.1/ref/forms/fields/\"><span class=\"doc\">Réimsí foirm</span></a>.</p>\n<section id=\"widgets\">\n<h4>Giuirléidí<a class=\"heading-anchor\" href=\"#widgets\"><span class=\"visually-hidden\">Link to this heading</span><span aria-hidden=\"true\">#</span></a></h4>\n<p>&lt;/ref/forms/widgets/&gt; &lt;input type=&quot;text&quot;&gt;Tá comhfhreagrach ag gach réimse foirme: doc: Class giuirléid, a fhreagraíonn do ghuirléid fhoirme HTML mar <a href=\"#id1\"><span class=\"problematic\" id=\"id2\">``</span></a><a href=\"#id3\"><span class=\"problematic\" id=\"id4\">``</span></a>.</p>\n<p>I bhformhór na gcásanna, beidh giuirléid réamhshocraithe ciallmhar sa réimse &lt;input type=&quot;text&quot;&gt;Mar shampla, de réir réamhshocraithe, beidh a: class: textInput giuirléid ag a: class: Charfield, a tháirgeann <a href=\"#id1\"><span class=\"problematic\" id=\"id2\">``</span></a>`` sa HTML. Más gá duit <code class=\"docutils literal notranslate\"><span class=\"pre\">&lt;textarea&gt;</span></code> ina ionad sin, shonrófá an giuirléid chuí agus do réimse foirme á shainiú agat, mar a rinneamar don réimse <a href=\"#id3\"><span class=\"problematic\" id=\"id4\">``</span></a>teachtaireacht <a href=\"#id5\"><span class=\"problematic\" id=\"id6\">``</span></a>.</p>\n</section>\n<section id=\"field-data\">\n<h4>Sonraí réimse<a class=\"heading-anchor\" href=\"#field-data\"><span class=\"visually-hidden\">Link to this heading</span><span aria-hidden=\"true\">#</span></a></h4>\n<p>Cibé na sonraí a chuirtear isteach le foirm, nuair a bheidh siad bailíochtaithe go rathúil trí ghlaoch ar <code class=\"docutils literal notranslate\"><span class=\"pre\">is_valid</span> <span class=\"pre\">()</span> <span class=\"pre\">`(agus</span> <span class=\"pre\">``is_valid</span> <span class=\"pre\">()`</span> <span class=\"pre\">tar</span> <span class=\"pre\">éis</span> <span class=\"pre\">``True</span></code> ar ais), beidh sonraí na bhfoirme bailíochtaithe sa fhoclóir <code class=\"docutils literal notranslate\"><span class=\"pre\">form.cleaned_data</span></code>. Déanfar na sonraí seo a thiontú go deas i gcineálacha Python duit.</p>\n<aside class=\"admonition admonition-note\" role=\"note\">\n<p class=\"admonition-title\">Note</p>\n<p>Is féidir leat rochtain a fháil ar na sonraí neamhbhailíochtaithe go díreach ó <code class=\"docutils literal notranslate\"><span class=\"pre\">Request.post</span></code> ag an bpointe seo, ach tá na sonraí bailíochtaithe níos fearr.</p>\n</aside>\n<p>In the contact form example above, <code class=\"docutils literal notranslate\"><span class=\"pre\">urgent</span></code> will be a boolean value.\nLikewise, fields such as <a class=\"reference internal\" href=\"/ga/6.1/ref/forms/fields/#django.forms.IntegerField\" title=\"django.forms.IntegerField\"><code class=\"xref py py-class docutils literal notranslate\"><span class=\"pre\">IntegerField</span></code></a> and <a class=\"reference internal\" href=\"/ga/6.1/ref/forms/fields/#django.forms.FloatField\" title=\"django.forms.FloatField\"><code class=\"xref py py-class docutils literal notranslate\"><span class=\"pre\">FloatField</span></code></a> convert\nvalues to a Python <code class=\"docutils literal notranslate\"><span class=\"pre\">int</span></code> and <code class=\"docutils literal notranslate\"><span class=\"pre\">float</span></code> respectively.</p>\n<p>Seo conas a d'fhéadfaí na sonraí foirme a phróiseáil sa dearcadh a láimhseálann an fhoirm seo:</p>\n<figure class=\"code-block code-block-captioned\" data-language=\"python\"><figcaption class=\"code-block-caption\"><code class=\"docutils literal notranslate\"><span class=\"pre\">views.py</span></code></figcaption>\n<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=\"kn\">from</span><span class=\"w\"> </span><span class=\"nn\">django.core.mail</span><span class=\"w\"> </span><span class=\"kn\">import</span> <span class=\"n\">EmailMessage</span>\n\n<span class=\"k\">if</span> <span class=\"n\">form</span><span class=\"o\">.</span><span class=\"n\">is_valid</span><span class=\"p\">():</span>\n    <span class=\"n\">subject</span> <span class=\"o\">=</span> <span class=\"n\">form</span><span class=\"o\">.</span><span class=\"n\">cleaned_data</span><span class=\"p\">[</span><span class=\"s2\">&quot;subject&quot;</span><span class=\"p\">]</span>\n    <span class=\"n\">message</span> <span class=\"o\">=</span> <span class=\"n\">form</span><span class=\"o\">.</span><span class=\"n\">cleaned_data</span><span class=\"p\">[</span><span class=\"s2\">&quot;message&quot;</span><span class=\"p\">]</span>\n    <span class=\"n\">contact_email</span> <span class=\"o\">=</span> <span class=\"n\">form</span><span class=\"o\">.</span><span class=\"n\">cleaned_data</span><span class=\"p\">[</span><span class=\"s2\">&quot;contact_email&quot;</span><span class=\"p\">]</span>\n    <span class=\"n\">urgent</span> <span class=\"o\">=</span> <span class=\"n\">form</span><span class=\"o\">.</span><span class=\"n\">cleaned_data</span><span class=\"p\">[</span><span class=\"s2\">&quot;urgent&quot;</span><span class=\"p\">]</span>\n\n    <span class=\"n\">body</span> <span class=\"o\">=</span> <span class=\"p\">(</span>\n        <span class=\"s2\">&quot;Submitted through the contact form.</span><span class=\"se\">\\n</span><span class=\"s2\">&quot;</span>\n        <span class=\"sa\">f</span><span class=\"s2\">&quot;Contact email (unverified): </span><span class=\"si\">{</span><span class=\"n\">contact_email</span><span class=\"si\">}</span><span class=\"se\">\\n</span><span class=\"s2\">&quot;</span>\n        <span class=\"sa\">f</span><span class=\"s2\">&quot;Marked urgent: </span><span class=\"si\">{</span><span class=\"s1\">&#39;yes&#39;</span><span class=\"w\"> </span><span class=\"k\">if</span><span class=\"w\"> </span><span class=\"n\">urgent</span><span class=\"w\"> </span><span class=\"k\">else</span><span class=\"w\"> </span><span class=\"s1\">&#39;no&#39;</span><span class=\"si\">}</span><span class=\"se\">\\n</span><span class=\"s2\">&quot;</span>\n        <span class=\"sa\">f</span><span class=\"s2\">&quot;Message:</span><span class=\"se\">\\n</span><span class=\"si\">{</span><span class=\"n\">message</span><span class=\"si\">}</span><span class=\"s2\">&quot;</span>\n    <span class=\"p\">)</span>\n\n    <span class=\"c1\"># Send the message, directing replies to the contact_email.</span>\n    <span class=\"n\">EmailMessage</span><span class=\"p\">(</span>\n        <span class=\"n\">subject</span><span class=\"o\">=</span><span class=\"sa\">f</span><span class=\"s2\">&quot;[contact form] </span><span class=\"si\">{</span><span class=\"n\">subject</span><span class=\"si\">}</span><span class=\"s2\">&quot;</span><span class=\"p\">,</span>\n        <span class=\"n\">body</span><span class=\"o\">=</span><span class=\"n\">body</span><span class=\"p\">,</span>\n        <span class=\"n\">from_email</span><span class=\"o\">=</span><span class=\"s2\">&quot;contact-form@example.com&quot;</span><span class=\"p\">,</span>\n        <span class=\"n\">to</span><span class=\"o\">=</span><span class=\"p\">[</span><span class=\"s2\">&quot;info@example.com&quot;</span><span class=\"p\">],</span>\n        <span class=\"n\">headers</span><span class=\"o\">=</span><span class=\"p\">{</span><span class=\"s2\">&quot;Importance&quot;</span><span class=\"p\">:</span> <span class=\"s2\">&quot;high&quot;</span><span class=\"p\">}</span> <span class=\"k\">if</span> <span class=\"n\">urgent</span> <span class=\"k\">else</span> <span class=\"kc\">None</span><span class=\"p\">,</span>\n        <span class=\"n\">reply_to</span><span class=\"o\">=</span><span class=\"p\">[</span><span class=\"n\">contact_email</span><span class=\"p\">],</span>\n    <span class=\"p\">)</span><span class=\"o\">.</span><span class=\"n\">send</span><span class=\"p\">()</span>\n\n    <span class=\"k\">return</span> <span class=\"n\">HttpResponseRedirect</span><span class=\"p\">(</span><span class=\"s2\">&quot;/thanks/&quot;</span><span class=\"p\">)</span>\n</code></pre></figure>\n<aside class=\"admonition admonition-tip\">\n<p class=\"admonition-title\">Tip</p>\n<p>Le haghaidh tuilleadh faoi ríomhphost a sheoladh ó Django, féach: doc: /topics/email.</p>\n</aside>\n<p>Teastaíonn roinnt láimhseála breise ó roinnt cineálacha Mar shampla, ní mór comhaid a uaslódáiltear ag baint úsáide as foirm a láimhseáil ar bhealach difriúil (is féidir iad a aisghabháil ó <code class=\"docutils literal notranslate\"><span class=\"pre\">Request.Files</span></code>, seachas <code class=\"docutils literal notranslate\"><span class=\"pre\">request.post</span></code>). Le haghaidh sonraí maidir le conas uaslódálacha comhad a láimhseáil le d'fhoirm, féach:ref: binding-uploaded-files.</p>\n</section>\n</section>\n</section>\n<section id=\"working-with-form-templates\">\n<h2>Ag obair le teimpléid fhoir<a class=\"heading-anchor\" href=\"#working-with-form-templates\"><span class=\"visually-hidden\">Link to this heading</span><span aria-hidden=\"true\">#</span></a></h2>\n<p>Níl le déanamh agat chun d'fhoirm a chur i dteimpléad ná an tsampla foirme a chur i gcomhthéacs an teimpléid. &lt;label&gt;&lt;input&gt;Mar sin má thugtar <code class=\"docutils literal notranslate\"><span class=\"pre\">foirm</span> <span class=\"pre\">``sa</span> <span class=\"pre\">chomhthéacs</span> <span class=\"pre\">ar</span> <span class=\"pre\">d'fhoirm,</span> <span class=\"pre\">déanfaidh</span></code> {{form}} <code class=\"docutils literal notranslate\"><span class=\"pre\">a</span> <span class=\"pre\">eilimintí</span></code> <code class=\"docutils literal notranslate\"><span class=\"pre\">agus</span></code> <a href=\"#id1\"><span class=\"problematic\" id=\"id2\">``</span></a><a href=\"#id3\"><span class=\"problematic\" id=\"id4\">`</span></a>a ghnéithe go cuí.</p>\n<aside class=\"admonition-additional-form-template-furniture admonition\">\n<p class=\"admonition-title\">Troscán teimpléad foirm bh</p>\n<p>Ná déan dearmad go gcuimsíonn aschur foirme*ní* na clibeanna <a href=\"#id1\"><span class=\"problematic\" id=\"id2\">``</span></a>máguaird&lt;form&gt;, nó rialú <a href=\"#id3\"><span class=\"problematic\" id=\"id4\">``</span></a><a href=\"#id5\"><span class=\"problematic\" id=\"id6\">`</span></a>aighneacht' na foirme. Beidh ort iad seo a sholáthar duit féin.</p>\n</aside>\n<section id=\"reusable-form-templates\">\n<span id=\"id1\"></span><h3>Teimpléid foirme in-ath<a class=\"heading-anchor\" href=\"#reusable-form-templates\"><span class=\"visually-hidden\">Link to this heading</span><span aria-hidden=\"true\">#</span></a></h3>\n<p>Gintear an t-aschur HTML agus foirm á rindreáil air féin trí theimpléad. Is féidir leat é seo a rialú trí chomhad teimpléad iomchuí a chruthú agus saincheap:setting: FORM_RENDER a shocrú chun sean:attr: ~django.forms.renderers.baserenderer.form_template_name a úsáid ar fud an láithreáin. Is féidir leat foirm a shaincheapadh freisin tríd an tréith foirm 's:attr: ~django.forms.form.template_name a shárú chun an fhoirm a léiriú ag baint úsáide as an teimpléad saincheaptha, nó trí ainm an teimpléid a chur go díreach chuig:meth: .form.render.</p>\n<p>Mar thoradh ar an sampla thíos beidh <code class=\"docutils literal notranslate\"><span class=\"pre\">{{form}}</span></code> a rinneadh mar aschur an teimpléad <code class=\"docutils literal notranslate\"><span class=\"pre\">form_snippet.html</span></code>.</p>\n<p>I do theimpléid:</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># In your template:\n<span class=\"cp\">{{</span> <span class=\"nv\">form</span> <span class=\"cp\">}}</span>\n\n# In form_snippet.html:\n<span class=\"cp\">{%</span> <span class=\"k\">for</span> <span class=\"nv\">field</span> <span class=\"k\">in</span> <span class=\"nv\">form</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;fieldWrapper&quot;</span><span class=\"p\">&gt;</span>\n        <span class=\"cp\">{{</span> <span class=\"nv\">field.errors</span> <span class=\"cp\">}}</span>\n        <span class=\"cp\">{{</span> <span class=\"nv\">field.label_tag</span> <span class=\"cp\">}}</span> <span class=\"cp\">{{</span> <span class=\"nv\">field</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</code></pre></div>\n<p>Ansin is féidir leat an socrú: setting: FORM_RENDER a chumrú:</p>\n<figure class=\"code-block code-block-captioned\" data-language=\"python\"><figcaption class=\"code-block-caption\"><code class=\"docutils literal notranslate\"><span class=\"pre\">settings.py</span></code></figcaption>\n<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=\"kn\">from</span><span class=\"w\"> </span><span class=\"nn\">django.forms.renderers</span><span class=\"w\"> </span><span class=\"kn\">import</span> <span class=\"n\">TemplatesSetting</span>\n\n\n<span class=\"k\">class</span><span class=\"w\"> </span><span class=\"nc\">CustomFormRenderer</span><span class=\"p\">(</span><span class=\"n\">TemplatesSetting</span><span class=\"p\">):</span>\n    <span class=\"n\">form_template_name</span> <span class=\"o\">=</span> <span class=\"s2\">&quot;form_snippet.html&quot;</span>\n\n\n<span class=\"n\">FORM_RENDERER</span> <span class=\"o\">=</span> <span class=\"s2\">&quot;project.settings.CustomFormRenderer&quot;</span>\n</code></pre></figure>\n<p>... nó le haghaidh foirm amháin:</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\">MyForm</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\">template_name</span> <span class=\"o\">=</span> <span class=\"s2\">&quot;form_snippet.html&quot;</span>\n    <span class=\"o\">...</span>\n</code></pre></div>\n<p>... nó le haghaidh rindreáil aonair de shampla foirme, ag cur isteach ainm an teimpléid chuig an:meth: .form.render. Seo sampla de seo a úsáidtear i radharc:</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\">def</span><span class=\"w\"> </span><span class=\"nf\">index</span><span class=\"p\">(</span><span class=\"n\">request</span><span class=\"p\">):</span>\n    <span class=\"n\">form</span> <span class=\"o\">=</span> <span class=\"n\">MyForm</span><span class=\"p\">()</span>\n    <span class=\"n\">rendered_form</span> <span class=\"o\">=</span> <span class=\"n\">form</span><span class=\"o\">.</span><span class=\"n\">render</span><span class=\"p\">(</span><span class=\"s2\">&quot;form_snippet.html&quot;</span><span class=\"p\">)</span>\n    <span class=\"n\">context</span> <span class=\"o\">=</span> <span class=\"p\">{</span><span class=\"s2\">&quot;form&quot;</span><span class=\"p\">:</span> <span class=\"n\">rendered_form</span><span class=\"p\">}</span>\n    <span class=\"k\">return</span> <span class=\"n\">render</span><span class=\"p\">(</span><span class=\"n\">request</span><span class=\"p\">,</span> <span class=\"s2\">&quot;index.html&quot;</span><span class=\"p\">,</span> <span class=\"n\">context</span><span class=\"p\">)</span>\n</code></pre></div>\n<p>Féach:ref: ref-forms-api-outputting-html le haghaidh tuilleadh sonraí.</p>\n</section>\n<section id=\"reusable-field-group-templates\">\n<span id=\"id2\"></span><h3>Teimpléid grúpa allamuigh<a class=\"heading-anchor\" href=\"#reusable-field-group-templates\"><span class=\"visually-hidden\">Link to this heading</span><span aria-hidden=\"true\">#</span></a></h3>\n<p>Each field is available as an attribute of the form, using\n<code class=\"docutils literal notranslate\"><span class=\"pre\">{{</span> <span class=\"pre\">form.name_of_field</span> <span class=\"pre\">}}</span></code> in a template. A field has an\n<a class=\"reference internal\" href=\"/ga/6.1/ref/forms/api/#django.forms.BoundField.as_field_group\" title=\"django.forms.BoundField.as_field_group\"><code class=\"xref py py-meth docutils literal notranslate\"><span class=\"pre\">as_field_group()</span></code></a> method which renders the\nrelated elements of the field as a group: its label, widget, errors, and help\ntext.</p>\n<p>This allows generic templates to be written that arrange each field's elements\nin the required layout. For example:</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=\"nv\">form.non_field_errors</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;fieldWrapper&quot;</span><span class=\"p\">&gt;</span>\n  <span class=\"cp\">{{</span> <span class=\"nv\">form.subject.as_field_group</span> <span class=\"cp\">}}</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;fieldWrapper&quot;</span><span class=\"p\">&gt;</span>\n  <span class=\"cp\">{{</span> <span class=\"nv\">form.message.as_field_group</span> <span class=\"cp\">}}</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;fieldWrapper&quot;</span><span class=\"p\">&gt;</span>\n  <span class=\"cp\">{{</span> <span class=\"nv\">form.contact_email.as_field_group</span> <span class=\"cp\">}}</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;fieldWrapper&quot;</span><span class=\"p\">&gt;</span>\n  <span class=\"cp\">{{</span> <span class=\"nv\">form.urgent.as_field_group</span> <span class=\"cp\">}}</span>\n<span class=\"p\">&lt;/</span><span class=\"nt\">div</span><span class=\"p\">&gt;</span>\n</code></pre></div>\n<p>De réir réamhshocraithe úsáideann Django an teimpléad <code class=\"docutils literal notranslate\"><span class=\"pre\">”</span> <span class=\"pre\">django/forms/field.html</span> <span class=\"pre\">“</span></code> atá deartha le húsáid leis an stíl foirme réamhshocraithe <code class=\"docutils literal notranslate\"><span class=\"pre\">”</span> <span class=\"pre\">django/forms/div.html</span> <span class=\"pre\">“</span></code>.</p>\n<p>Is féidir an teimpléad réamhshocraithe a shaincheapadh trí:attr: ~django.forms.renderers.baserenderer.field_template_name i do leibhéal tionscadail: setting: FORM_RENDER:</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.renderers</span><span class=\"w\"> </span><span class=\"kn\">import</span> <span class=\"n\">TemplatesSetting</span>\n\n\n<span class=\"k\">class</span><span class=\"w\"> </span><span class=\"nc\">CustomFormRenderer</span><span class=\"p\">(</span><span class=\"n\">TemplatesSetting</span><span class=\"p\">):</span>\n    <span class=\"n\">field_template_name</span> <span class=\"o\">=</span> <span class=\"s2\">&quot;field_snippet.html&quot;</span>\n</code></pre></div>\n<p>... nó ar réimse amháin:</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\">MyForm</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\">subject</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\">template_name</span><span class=\"o\">=</span><span class=\"s2\">&quot;my_custom_template.html&quot;</span><span class=\"p\">)</span>\n    <span class=\"o\">...</span>\n</code></pre></div>\n<p>... nó ar bhonn in aghaidh iarratais trí ghlaoch ar :meth: .boundfield.render agus ainm teimpléad a sholáthar:</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\">def</span><span class=\"w\"> </span><span class=\"nf\">index</span><span class=\"p\">(</span><span class=\"n\">request</span><span class=\"p\">):</span>\n    <span class=\"n\">form</span> <span class=\"o\">=</span> <span class=\"n\">ContactForm</span><span class=\"p\">()</span>\n    <span class=\"n\">subject</span> <span class=\"o\">=</span> <span class=\"n\">form</span><span class=\"p\">[</span><span class=\"s2\">&quot;subject&quot;</span><span class=\"p\">]</span>\n    <span class=\"n\">context</span> <span class=\"o\">=</span> <span class=\"p\">{</span><span class=\"s2\">&quot;subject&quot;</span><span class=\"p\">:</span> <span class=\"n\">subject</span><span class=\"o\">.</span><span class=\"n\">render</span><span class=\"p\">(</span><span class=\"s2\">&quot;my_custom_template.html&quot;</span><span class=\"p\">)}</span>\n    <span class=\"k\">return</span> <span class=\"n\">render</span><span class=\"p\">(</span><span class=\"n\">request</span><span class=\"p\">,</span> <span class=\"s2\">&quot;index.html&quot;</span><span class=\"p\">,</span> <span class=\"n\">context</span><span class=\"p\">)</span>\n</code></pre></div>\n</section>\n<section id=\"rendering-fields-manually\">\n<h3>Réimsí rindreála de láimh<a class=\"heading-anchor\" href=\"#rendering-fields-manually\"><span class=\"visually-hidden\">Link to this heading</span><span aria-hidden=\"true\">#</span></a></h3>\n<p>Is féidir rialú níos mó gránach ar rindreáil allamuigh a dhéanamh freisin. Is dócha go mbeidh sé seo i teimpléad réimse saincheaptha, chun ligean an teimpléad a scríobh uair amháin agus a athúsáid do gach réimse. Mar sin féin, is féidir rochtain a fháil go díreach air ón tréith allamuigh ar an bhfoirm. Mar shampla:</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=\"nv\">form.non_field_errors</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;fieldWrapper&quot;</span><span class=\"p\">&gt;</span>\n    <span class=\"cp\">{{</span> <span class=\"nv\">form.subject.errors</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\">form.subject.id_for_label</span> <span class=\"cp\">}}</span><span class=\"s\">&quot;</span><span class=\"p\">&gt;</span>Email subject:<span class=\"p\">&lt;/</span><span class=\"nt\">label</span><span class=\"p\">&gt;</span>\n    <span class=\"cp\">{{</span> <span class=\"nv\">form.subject</span> <span class=\"cp\">}}</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;fieldWrapper&quot;</span><span class=\"p\">&gt;</span>\n    <span class=\"cp\">{{</span> <span class=\"nv\">form.message.errors</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\">form.message.id_for_label</span> <span class=\"cp\">}}</span><span class=\"s\">&quot;</span><span class=\"p\">&gt;</span>Your message:<span class=\"p\">&lt;/</span><span class=\"nt\">label</span><span class=\"p\">&gt;</span>\n    <span class=\"cp\">{{</span> <span class=\"nv\">form.message</span> <span class=\"cp\">}}</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;fieldWrapper&quot;</span><span class=\"p\">&gt;</span>\n    <span class=\"cp\">{{</span> <span class=\"nv\">form.contact_email.errors</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\">form.contact_email.id_for_label</span> <span class=\"cp\">}}</span><span class=\"s\">&quot;</span><span class=\"p\">&gt;</span>Your email address:<span class=\"p\">&lt;/</span><span class=\"nt\">label</span><span class=\"p\">&gt;</span>\n    <span class=\"cp\">{{</span> <span class=\"nv\">form.contact_email</span> <span class=\"cp\">}}</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;fieldWrapper&quot;</span><span class=\"p\">&gt;</span>\n    <span class=\"cp\">{{</span> <span class=\"nv\">form.urgent.errors</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\">form.urgent.id_for_label</span> <span class=\"cp\">}}</span><span class=\"s\">&quot;</span><span class=\"p\">&gt;</span>Urgent reply needed?<span class=\"p\">&lt;/</span><span class=\"nt\">label</span><span class=\"p\">&gt;</span>\n    <span class=\"cp\">{{</span> <span class=\"nv\">form.urgent</span> <span class=\"cp\">}}</span>\n<span class=\"p\">&lt;/</span><span class=\"nt\">div</span><span class=\"p\">&gt;</span>\n</code></pre></div>\n<p>Is féidir eilimintí iomlána &lt;label&gt;```a ghiniúint freisin ag baint úsáide as an: meth: ~django.forms.boundfield.label_tag. Mar shampla:</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\">div</span> <span class=\"na\">class</span><span class=\"o\">=</span><span class=\"s\">&quot;fieldWrapper&quot;</span><span class=\"p\">&gt;</span>\n    <span class=\"cp\">{{</span> <span class=\"nv\">form.subject.errors</span> <span class=\"cp\">}}</span>\n    <span class=\"cp\">{{</span> <span class=\"nv\">form.subject.label_tag</span> <span class=\"cp\">}}</span>\n    <span class=\"cp\">{{</span> <span class=\"nv\">form.subject</span> <span class=\"cp\">}}</span>\n<span class=\"p\">&lt;/</span><span class=\"nt\">div</span><span class=\"p\">&gt;</span>\n</code></pre></div>\n<section id=\"rendering-form-error-messages\">\n<h4>Teachtaireachtaí earráide foirm<a class=\"heading-anchor\" href=\"#rendering-form-error-messages\"><span class=\"visually-hidden\">Link to this heading</span><span aria-hidden=\"true\">#</span></a></h4>\n<p>Is é praghas na solúbthachta seo beagán níos mó oibre. Go dtí seo ní raibh orainn a bheith buartha faoi conas earráidí foirme a thaispeáint, mar tugadh aire dúinn sin. Sa sampla seo bhí orainn a chinntiú go dtugann muid aire d'aon earráidí do gach réimse agus d'aon earráidí don fhoirm ina iomláine. Tabhair faoi deara <code class=\"docutils literal notranslate\"><span class=\"pre\">{{form.non_field_errors}}</span></code> ag barr na foirme agus cuardaigh an teimpléad le haghaidh earráidí ar gach réimse.</p>\n<p>Ag baint úsáide as <code class=\"docutils literal notranslate\"><span class=\"pre\">{{form.name_of_field.errors}}</span></code> taispeántar liosta earráidí foirme, a rinneadh mar liosta neamh-ordaithe. D'fhéadfadh sé seo a bheith cosúil le:</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\">ul</span> <span class=\"na\">class</span><span class=\"o\">=</span><span class=\"s\">&quot;errorlist&quot;</span><span class=\"p\">&gt;</span>\n    <span class=\"p\">&lt;</span><span class=\"nt\">li</span><span class=\"p\">&gt;</span>Contact email is required.<span class=\"p\">&lt;/</span><span class=\"nt\">li</span><span class=\"p\">&gt;</span>\n<span class=\"p\">&lt;/</span><span class=\"nt\">ul</span><span class=\"p\">&gt;</span>\n</code></pre></div>\n<p>Tá aicme CSS de <code class=\"docutils literal notranslate\"><span class=\"pre\">earrorlist</span></code> ar an liosta chun ligean duit a chuma a stíleáil. Más mian leat taispeáint earráidí a shaincheapadh tuilleadh is féidir leat é sin a dhéanamh trí lúpáil orthu:</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\">if</span> <span class=\"nv\">form.subject.errors</span> <span class=\"cp\">%}</span>\n    <span class=\"p\">&lt;</span><span class=\"nt\">ol</span><span class=\"p\">&gt;</span>\n    <span class=\"cp\">{%</span> <span class=\"k\">for</span> <span class=\"nv\">error</span> <span class=\"k\">in</span> <span class=\"nv\">form.subject.errors</span> <span class=\"cp\">%}</span>\n        <span class=\"p\">&lt;</span><span class=\"nt\">li</span><span class=\"p\">&gt;&lt;</span><span class=\"nt\">strong</span><span class=\"p\">&gt;</span><span class=\"cp\">{{</span> <span class=\"nv\">error</span><span class=\"o\">|</span><span class=\"nf\">escape</span> <span class=\"cp\">}}</span><span class=\"p\">&lt;/</span><span class=\"nt\">strong</span><span class=\"p\">&gt;&lt;/</span><span class=\"nt\">li</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\">ol</span><span class=\"p\">&gt;</span>\n<span class=\"cp\">{%</span> <span class=\"k\">endif</span> <span class=\"cp\">%}</span>\n</code></pre></div>\n<p>Déanfar earráidí neamh-réimse (agus/nó earráidí réimse i bhfolach a rinneadh ag barr na foirme nuair a úsáidtear cúntóirí cosúil le form.as_p () `) le rang breise ``neamh-réimse` chun cabhrú leo a idirdhealú ó earráidí réimsiúla. Mar shampla, bheadh cuma <a href=\"#id1\"><span class=\"problematic\" id=\"id2\">``</span></a>{{form.non_field_errors}} <a href=\"#id3\"><span class=\"problematic\" id=\"id4\">`</span></a>:</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\">ul</span> <span class=\"na\">class</span><span class=\"o\">=</span><span class=\"s\">&quot;errorlist nonfield&quot;</span><span class=\"p\">&gt;</span>\n    <span class=\"p\">&lt;</span><span class=\"nt\">li</span><span class=\"p\">&gt;</span>Generic validation error<span class=\"p\">&lt;/</span><span class=\"nt\">li</span><span class=\"p\">&gt;</span>\n<span class=\"p\">&lt;/</span><span class=\"nt\">ul</span><span class=\"p\">&gt;</span>\n</code></pre></div>\n<p>Féach: doc: /ref/forms/api le haghaidh tuilleadh eolais faoi earráidí, stíliú, agus oibriú le tréithe foirme i dteimpléid.</p>\n</section>\n</section>\n<section id=\"looping-over-the-form-s-fields\">\n<h3>Lúpáil thar réimsí na foirme<a class=\"heading-anchor\" href=\"#looping-over-the-form-s-fields\"><span class=\"visually-hidden\">Link to this heading</span><span aria-hidden=\"true\">#</span></a></h3>\n<p>Má tá an HTML céanna á úsáid agat do gach réimse foirme, is féidir leat cód dúblach a laghdú trí lúb <code class=\"docutils literal notranslate\"><span class=\"pre\">{%</span> <span class=\"pre\">for%}</span></code> a úsáid trí lúb <code class=\"docutils literal notranslate\"><span class=\"pre\">{%</span> <span class=\"pre\">for%}</span></code>:</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\">field</span> <span class=\"k\">in</span> <span class=\"nv\">form</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;fieldWrapper&quot;</span><span class=\"p\">&gt;</span>\n        <span class=\"cp\">{{</span> <span class=\"nv\">field.errors</span> <span class=\"cp\">}}</span>\n        <span class=\"cp\">{{</span> <span class=\"nv\">field.label_tag</span> <span class=\"cp\">}}</span> <span class=\"cp\">{{</span> <span class=\"nv\">field</span> <span class=\"cp\">}}</span>\n        <span class=\"cp\">{%</span> <span class=\"k\">if</span> <span class=\"nv\">field.help_text</span> <span class=\"cp\">%}</span>\n          <span class=\"p\">&lt;</span><span class=\"nt\">p</span> <span class=\"na\">class</span><span class=\"o\">=</span><span class=\"s\">&quot;help&quot;</span> <span class=\"na\">id</span><span class=\"o\">=</span><span class=\"s\">&quot;</span><span class=\"cp\">{{</span> <span class=\"nv\">field.auto_id</span> <span class=\"cp\">}}</span><span class=\"s\">_helptext&quot;</span><span class=\"p\">&gt;</span>\n            <span class=\"cp\">{{</span> <span class=\"nv\">field.help_text</span><span class=\"o\">|</span><span class=\"nf\">safe</span> <span class=\"cp\">}}</span>\n          <span class=\"p\">&lt;/</span><span class=\"nt\">p</span><span class=\"p\">&gt;</span>\n        <span class=\"cp\">{%</span> <span class=\"k\">endif</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</code></pre></div>\n<p>I measc na dtréithe úsáideacha ar <code class=\"docutils literal notranslate\"><span class=\"pre\">{{field}}</span></code> tá:</p>\n<dl class=\"simple\">\n<dt><code class=\"docutils literal notranslate\"><span class=\"pre\">{{field.errors}}</span></code></dt><dd><p>Aschur &lt;ul class=&quot;errorlist&quot;&gt;```` ina bhfuil aon earráidí bailíochtaithe a fhreagraíonn don réimse seo. Is féidir leat cur i láthair na n-earráidí a shaincheapadh le lúb <code class=\"docutils literal notranslate\"><span class=\"pre\">{%</span> <span class=\"pre\">d'earráid</span> <span class=\"pre\">in</span> <span class=\"pre\">field.errors%}</span></code>. Sa chás seo, is teaghrán é gach rud sa lúb ina bhfuil an teachtaireacht earráide.</p>\n</dd>\n<dt><code class=\"docutils literal notranslate\"><span class=\"pre\">{{field.field}}</span></code></dt><dd><p>An sampla: Class: ~django.forms.field ón rang foirm a fhilleann seo:class: ~django.forms.boundfield. Is féidir leat é a úsáid chun rochtain a fháil ar: class: ~django.forms.field tréithe, m.sh. <code class=\"docutils literal notranslate\"><span class=\"pre\">{{char_field.field.max_length}}</span></code>.</p>\n</dd>\n<dt><code class=\"docutils literal notranslate\"><span class=\"pre\">{{field.help_text}}</span></code></dt><dd><p>Aon téacs cabhrach a bhí bainteach leis an réimse.</p>\n</dd>\n<dt><code class=\"docutils literal notranslate\"><span class=\"pre\">{{field.html_name}}</span></code></dt><dd><p>Ainm an réimse a úsáidfear i réimse ainm an eilimint ionchuir. Cuireann sé seo réimír an fhoirme san áireamh, má tá sé socraithe.</p>\n</dd>\n<dt><code class=\"docutils literal notranslate\"><span class=\"pre\">{{field.id_for_label}}</span></code></dt><dd><p>The ID that will be used for this field (<code class=\"docutils literal notranslate\"><span class=\"pre\">id_contact_email</span></code> in the\nexample above). If you are constructing the label manually, you may want to\nuse this in lieu of <code class=\"docutils literal notranslate\"><span class=\"pre\">label_tag</span></code>. It's also useful, for example, if you\nhave some inline JavaScript and want to avoid hardcoding the field's ID.</p>\n</dd>\n<dt><code class=\"docutils literal notranslate\"><span class=\"pre\">{{field.is_hidden}}</span></code></dt><dd><p>Is é an tréith seo <code class=\"docutils literal notranslate\"><span class=\"pre\">True</span></code> más réimse i bhfolach é an réimse foirme agus <code class=\"docutils literal notranslate\"><span class=\"pre\">False</span></code> a shlí eile. Níl sé úsáideach go háirithe mar athróg teimpléad, ach d'fhéadfadh sé a bheith úsáideach i dtástálacha coinníollach mar:</p>\n</dd>\n</dl>\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\">if</span> <span class=\"nv\">field.is_hidden</span> <span class=\"cp\">%}</span>\n   <span class=\"c\">{# Do something special #}</span>\n<span class=\"cp\">{%</span> <span class=\"k\">endif</span> <span class=\"cp\">%}</span>\n</code></pre></div>\n<dl>\n<dt><code class=\"docutils literal notranslate\"><span class=\"pre\">{{field.label}}</span></code></dt><dd><p>The label of the field, e.g. <code class=\"docutils literal notranslate\"><span class=\"pre\">Contact</span> <span class=\"pre\">email</span></code>.</p>\n</dd>\n<dt><code class=\"docutils literal notranslate\"><span class=\"pre\">{{field.label_tag}}</span></code></dt><dd><p>Lipéad an réimse fillte sa chlib HTML &lt;label&gt;```` cuí. Áirítear leis seo an fhoirm 's:attr: ~django.forms.form.label_suffix. Mar shampla, is é an réamhshocraithe <code class=\"docutils literal notranslate\"><span class=\"pre\">label_suffix</span></code> colon:</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\">label</span> <span class=\"na\">for</span><span class=\"o\">=</span><span class=\"s\">&quot;id_contact_email&quot;</span><span class=\"p\">&gt;</span>Contact email:<span class=\"p\">&lt;/</span><span class=\"nt\">label</span><span class=\"p\">&gt;</span>\n</code></pre></div>\n</dd>\n<dt><code class=\"docutils literal notranslate\"><span class=\"pre\">{{field.legend_tag}}</span></code></dt><dd><p>&lt;label&gt;&lt;fieldset&gt;Cosúil le <code class=\"docutils literal notranslate\"><span class=\"pre\">field.label_tag</span></code> ach úsáideann sé clib <a href=\"#id1\"><span class=\"problematic\" id=\"id2\">``</span></a>`` &lt;legend&gt;in ionad <a href=\"#id3\"><span class=\"problematic\" id=\"id4\">``</span></a><code class=\"docutils literal notranslate\"><span class=\"pre\">,</span> <span class=\"pre\">le</span> <span class=\"pre\">haghaidh</span> <span class=\"pre\">giuirléidí</span> <span class=\"pre\">le</span> <span class=\"pre\">hionchuir</span> <span class=\"pre\">iolracha</span> <span class=\"pre\">atá</span> <span class=\"pre\">fillte</span> <span class=\"pre\">i</span> <span class=\"pre\">``</span></code>.</p>\n</dd>\n<dt><code class=\"docutils literal notranslate\"><span class=\"pre\">{{field.use_fieldset}}</span></code></dt><dd><p>&lt;legend&gt;Is é an tréith seo <code class=\"docutils literal notranslate\"><span class=\"pre\">True</span></code> má tá ionchuir iolracha i ngiuirléid an réimse foirme ar chóir a ghrúpáil go séimeantach i <a href=\"#id1\"><span class=\"problematic\" id=\"id2\">``</span></a>`` le <code class=\"docutils literal notranslate\"><span class=\"pre\">&lt;fieldset&gt;</span></code> chun inrochtaineacht a fheabhsú. Úsáid sampla i dteimpléad:</p>\n</dd>\n</dl>\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\">if</span> <span class=\"nv\">field.use_fieldset</span> <span class=\"cp\">%}</span>\n  <span class=\"p\">&lt;</span><span class=\"nt\">fieldset</span><span class=\"p\">&gt;</span>\n  <span class=\"cp\">{%</span> <span class=\"k\">if</span> <span class=\"nv\">field.label</span> <span class=\"cp\">%}{{</span> <span class=\"nv\">field.legend_tag</span> <span class=\"cp\">}}{%</span> <span class=\"k\">endif</span> <span class=\"cp\">%}</span>\n<span class=\"cp\">{%</span> <span class=\"k\">else</span> <span class=\"cp\">%}</span>\n  <span class=\"cp\">{%</span> <span class=\"k\">if</span> <span class=\"nv\">field.label</span> <span class=\"cp\">%}{{</span> <span class=\"nv\">field.label_tag</span> <span class=\"cp\">}}{%</span> <span class=\"k\">endif</span> <span class=\"cp\">%}</span>\n<span class=\"cp\">{%</span> <span class=\"k\">endif</span> <span class=\"cp\">%}</span>\n<span class=\"cp\">{{</span> <span class=\"nv\">field</span> <span class=\"cp\">}}</span>\n<span class=\"cp\">{%</span> <span class=\"k\">if</span> <span class=\"nv\">field.use_fieldset</span> <span class=\"cp\">%}</span><span class=\"p\">&lt;/</span><span class=\"nt\">fieldset</span><span class=\"p\">&gt;</span><span class=\"cp\">{%</span> <span class=\"k\">endif</span> <span class=\"cp\">%}</span>\n</code></pre></div>\n<dl class=\"simple\">\n<dt><code class=\"docutils literal notranslate\"><span class=\"pre\">{{field.value}}</span></code></dt><dd><p>Luach an réimse. m.sh. <code class=\"docutils literal notranslate\"><span class=\"pre\">someone&#64;example.com</span></code>.</p>\n</dd>\n</dl>\n<p>For a complete list of attributes and methods, see the reference guide for\n<a class=\"reference internal\" href=\"/ga/6.1/ref/forms/api/#django.forms.BoundField\" title=\"django.forms.BoundField\"><code class=\"xref py py-class docutils literal notranslate\"><span class=\"pre\">BoundField</span></code></a>.</p>\n<section id=\"looping-over-hidden-and-visible-fields\">\n<h4>Lúpáil thar réimsí folaithe agus infheicthe<a class=\"heading-anchor\" href=\"#looping-over-hidden-and-visible-fields\"><span class=\"visually-hidden\">Link to this heading</span><span aria-hidden=\"true\">#</span></a></h4>\n<p>Má tá foirm ag leagan amach de láimh i dteimpl &lt;input type=&quot;hidden&quot;&gt;éad, seachas brath ar leagan amach foirme réamhshocraithe Django, b'fhéidir gur mhaith leat réimsí <a href=\"#id1\"><span class=\"problematic\" id=\"id2\">``</span></a>a chóireáil go difriúil ó réimsí neamh-bhfolach. Mar shampla, toisc nach dtaispeánann réimsí i bhfolach aon rud, d'fhéadfadh teachtaireachtaí earráide a chur “in aice leis” an réimse mearbhall a bheith ina chúis le d'úsáideoirí - mar sin ba chóir earráidí do na réimsí sin a láimhseáil</p>\n<p>Soláthraíonn Django dhá mhodh ar fhoirm a ligeann duit lúb thar na réimsí folaithe agus infheicthe go neamhspleách: <code class=\"docutils literal notranslate\"><span class=\"pre\">hidden_fields</span> <span class=\"pre\">()</span> <span class=\"pre\">``agus</span> <span class=\"pre\">``visible_fields</span> <span class=\"pre\">()</span></code>. Seo modhnú ar shampla níos luaithe a úsáideann an dá mhodh seo:</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=\"c\">{# Include the hidden fields #}</span>\n<span class=\"cp\">{%</span> <span class=\"k\">for</span> <span class=\"nv\">hidden</span> <span class=\"k\">in</span> <span class=\"nv\">form.hidden_fields</span> <span class=\"cp\">%}</span>\n<span class=\"cp\">{{</span> <span class=\"nv\">hidden</span> <span class=\"cp\">}}</span>\n<span class=\"cp\">{%</span> <span class=\"k\">endfor</span> <span class=\"cp\">%}</span>\n<span class=\"c\">{# Include the visible fields #}</span>\n<span class=\"cp\">{%</span> <span class=\"k\">for</span> <span class=\"nv\">field</span> <span class=\"k\">in</span> <span class=\"nv\">form.visible_fields</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;fieldWrapper&quot;</span><span class=\"p\">&gt;</span>\n        <span class=\"cp\">{{</span> <span class=\"nv\">field.errors</span> <span class=\"cp\">}}</span>\n        <span class=\"cp\">{{</span> <span class=\"nv\">field.label_tag</span> <span class=\"cp\">}}</span> <span class=\"cp\">{{</span> <span class=\"nv\">field</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</code></pre></div>\n<p>Ní láimhseálann an sampla seo aon earráidí sna réimsí i bhfolach. De ghnáth, is comhartha é earráid i réimse i bhfolach i gceist, ós rud é nach n-athróidh gnáthidirghníomhú foirme iad. Mar sin féin, d'fhéadfá roinnt taispeántais earráide a chur isteach go héasca do na hearráidí foirme sin, freisin.</p>\n</section>\n</section>\n</section>\n<section id=\"further-topics\">\n<h2>Ábhar breise<a class=\"heading-anchor\" href=\"#further-topics\"><span class=\"visually-hidden\">Link to this heading</span><span aria-hidden=\"true\">#</span></a></h2>\n<p>Clúdaíonn sé seo na buneilimintí, ach is féidir le foirmeacha a lán níos mó a dhéanamh:</p>\n<div class=\"toctree-wrapper compound\">\n<ul>\n<li class=\"toctree-l1\"><a class=\"reference internal\" href=\"/ga/6.1/topics/forms/formsets/\">Foirmeacha</a><ul>\n<li class=\"toctree-l2\"><a class=\"reference internal\" href=\"/ga/6.1/topics/forms/formsets/#using-initial-data-with-a-formset\">Sonraí tosaigh a úsáid le tacar foirme</a></li>\n<li class=\"toctree-l2\"><a class=\"reference internal\" href=\"/ga/6.1/topics/forms/formsets/#limiting-the-maximum-number-of-forms\">An líon uasta na bhfoirmeacha a theorannú</a></li>\n<li class=\"toctree-l2\"><a class=\"reference internal\" href=\"/ga/6.1/topics/forms/formsets/#limiting-the-maximum-number-of-instantiated-forms\">Uaslíon na bhfoirmeacha ionchasacha a theorannú</a></li>\n<li class=\"toctree-l2\"><a class=\"reference internal\" href=\"/ga/6.1/topics/forms/formsets/#formset-validation\">Bailíochtú Formset</a></li>\n<li class=\"toctree-l2\"><a class=\"reference internal\" href=\"/ga/6.1/topics/forms/formsets/#validating-the-number-of-forms-in-a-formset\">Líon na bhfoirmeacha i dtacar foirmeacha a bhailíochtú</a></li>\n<li class=\"toctree-l2\"><a class=\"reference internal\" href=\"/ga/6.1/topics/forms/formsets/#dealing-with-ordering-and-deletion-of-forms\">Déileáil le foirmeacha a ordú agus a scriosadh</a></li>\n<li class=\"toctree-l2\"><a class=\"reference internal\" href=\"/ga/6.1/topics/forms/formsets/#adding-additional-fields-to-a-formset\">Réimsí breise a chur le tacar foirmeacha</a></li>\n<li class=\"toctree-l2\"><a class=\"reference internal\" href=\"/ga/6.1/topics/forms/formsets/#passing-custom-parameters-to-formset-forms\">Ag dul paraiméadair saincheaptha chuig foirmeacha</a></li>\n<li class=\"toctree-l2\"><a class=\"reference internal\" href=\"/ga/6.1/topics/forms/formsets/#customizing-a-formset-s-prefix\">Réimír foirmshraith a shaincheapadh</a></li>\n<li class=\"toctree-l2\"><a class=\"reference internal\" href=\"/ga/6.1/topics/forms/formsets/#using-a-formset-in-views-and-templates\">Foirmshraith a úsáid i radhairc agus teimpléid</a></li>\n</ul>\n</li>\n<li class=\"toctree-l1\"><a class=\"reference internal\" href=\"/ga/6.1/topics/forms/modelforms/\">Foirmeacha a chruthú ó shamhl</a><ul>\n<li class=\"toctree-l2\"><a class=\"reference internal\" href=\"/ga/6.1/topics/forms/modelforms/#modelform\"><code class=\"docutils literal notranslate\"><span class=\"pre\">Samhlfhoirme</span></code></a></li>\n<li class=\"toctree-l2\"><a class=\"reference internal\" href=\"/ga/6.1/topics/forms/modelforms/#model-formsets\">Foirmeacha múnla</a></li>\n<li class=\"toctree-l2\"><a class=\"reference internal\" href=\"/ga/6.1/topics/forms/modelforms/#inline-formsets\">Foirmeacha inlíne</a></li>\n</ul>\n</li>\n<li class=\"toctree-l1\"><a class=\"reference internal\" href=\"/ga/6.1/topics/forms/media/\">Sócmhainní Foirm (an aicme ``Meáin ``)</a><ul>\n<li class=\"toctree-l2\"><a class=\"reference internal\" href=\"/ga/6.1/topics/forms/media/#assets-as-a-static-definition\">Sócmhainní mar shainiú statach</a></li>\n<li class=\"toctree-l2\"><a class=\"reference internal\" href=\"/ga/6.1/topics/forms/media/#media-as-a-dynamic-property\">``Meáin ``mar mhaoin dinimiciúil</a></li>\n<li class=\"toctree-l2\"><a class=\"reference internal\" href=\"/ga/6.1/topics/forms/media/#paths-in-asset-definitions\">Cosáin i sainmhínithe sócmh</a></li>\n<li class=\"toctree-l2\"><a class=\"reference internal\" href=\"/ga/6.1/topics/forms/media/#media-objects\">Rudaí ``Meáin ``</a></li>\n<li class=\"toctree-l2\"><a class=\"reference internal\" href=\"/ga/6.1/topics/forms/media/#media-on-forms\">``Meáin ``ar Fhoirmeacha</a></li>\n</ul>\n</li>\n</ul>\n</div>\n<aside class=\"admonition admonition-seealso\">\n<p class=\"admonition-title\">See also</p>\n<dl class=\"simple\">\n<dt><a class=\"reference internal\" href=\"/ga/6.1/ref/forms/\"><span class=\"doc\">The Forms Reference</span></a></dt><dd><p>Clúdaíonn sé an tagairt iomlán API, lena n-áirítear réimsí foirme, giuirléidí foirme, agus bailíochtú foirm agus all</p>\n</dd>\n<dt><a class=\"extlink-pypi reference external\" href=\"https://pypi.org/project/django-formtools/\">django-formtools</a></dt><dd><p>Provides additional form utilities, such as form previews and wizards\n(<a class=\"reference external\" href=\"https://django-formtools.readthedocs.io/\">documentation</a>).</p>\n</dd>\n</dl>\n</aside>\n</section>","rootId":"working-with-forms","toc":[{"title":"Foirmeacha HTML","anchor":"html-forms","children":[{"title":"GET agus ``POST ``","anchor":"get-and-post","children":[]}]},{"title":"Ról Django i bhfoirmeacha","anchor":"django-s-role-in-forms","children":[]},{"title":"Foirmeacha i Django","anchor":"forms-in-django","children":[{"title":"An rang Django: Class: Form","anchor":"the-django-form-class","children":[]},{"title":"Foirmeacha a thionscnamh, a phróiseáil agus a rindreáil","anchor":"instantiating-processing-and-rendering-forms","children":[]}]},{"title":"Foirm a thógáil","anchor":"building-a-form","children":[{"title":"An obair is gá a dhéanamh","anchor":"the-work-that-needs-to-be-done","children":[]},{"title":"Foirm a thógáil i Django","anchor":"building-a-form-in-django","children":[{"title":"An rang: aicme: Foirm","anchor":"the-form-class","children":[]},{"title":"An radharc","anchor":"the-view","children":[]},{"title":"An teimpléad","anchor":"the-template","children":[]}]}]},{"title":"Tuilleadh faoi ranganna Django:Class: Form","anchor":"more-about-django-form-classes","children":[{"title":"Cásanna foirmeacha ceangailte agus gan cheangal","anchor":"bound-and-unbound-form-instances","children":[]},{"title":"Tuilleadh ar réimsí","anchor":"more-on-fields","children":[{"title":"Giuirléidí","anchor":"widgets","children":[]},{"title":"Sonraí réimse","anchor":"field-data","children":[]}]}]},{"title":"Ag obair le teimpléid fhoir","anchor":"working-with-form-templates","children":[{"title":"Teimpléid foirme in-ath","anchor":"reusable-form-templates","children":[]},{"title":"Teimpléid grúpa allamuigh","anchor":"reusable-field-group-templates","children":[]},{"title":"Réimsí rindreála de láimh","anchor":"rendering-fields-manually","children":[{"title":"Teachtaireachtaí earráide foirm","anchor":"rendering-form-error-messages","children":[]}]},{"title":"Lúpáil thar réimsí na foirme","anchor":"looping-over-the-form-s-fields","children":[{"title":"Lúpáil thar réimsí folaithe agus infheicthe","anchor":"looping-over-hidden-and-visible-fields","children":[]}]}]},{"title":"Ábhar breise","anchor":"further-topics","children":[]}],"breadcrumbs":[{"docname":"topics/index","title":"Using Django","url":"/ga/6.1/topics/"}],"prev":{"docname":"topics/http/sessions","title":"Conas seisiúin a úsáid","url":"/ga/6.1/topics/http/sessions/"},"next":{"docname":"topics/forms/formsets","title":"Foirmeacha","url":"/ga/6.1/topics/forms/formsets/"},"formats":{"html":"/ga/6.1/topics/forms/","markdown":"/ga/6.1/topics/forms.md","json":"/ga/6.1/topics/forms.json"},"source":"https://github.com/django/django/blob/stable/6.1.x/docs/topics/forms/index.txt","official":"https://docs.djangoproject.com/ga/6.1/topics/forms/","inVersions":["6.1","6.0","5.2"],"inLocales":["en","sv","zh-hans","ga","fr","ja","id","it","pt-br","ko","es","el","pl"]}