{"title":"Próiseáil Amharc Coinníoll","version":"5.2","locale":"ga","docname":"topics/conditional-view-processing","url":"/ga/5.2/topics/conditional-view-processing/","canonical":"https://djangodocs.dev/ga/5.2/topics/conditional-view-processing/","summary":"Is féidir le cliaint HTTP roinnt ceanntásca a sheoladh chun insint don fhreastalaí faoi chóipeanna d'acmhainn a chonaic siad cheana féin.","html":"<h1>Próiseáil Amharc Coinníoll<a class=\"heading-anchor\" href=\"#conditional-view-processing\"><span class=\"visually-hidden\">Link to this heading</span><span aria-hidden=\"true\">#</span></a></h1>\n<p>Is féidir le cliaint HTTP roinnt ceanntásca a sheoladh chun insint don fhreastalaí faoi chóipeanna d'acmhainn a chonaic siad cheana féin. Úsáidtear é seo go coitianta agus leathanach gréasáin á aisghabháil (ag baint úsáide as iarratas HTTP <code class=\"docutils literal notranslate\">GET ``) chun na sonraí go léir a sheachaint le haghaidh rud atá aisghabháilte an cliant cheana féin. Mar sin féin, is féidir na ceanntásca céanna a úsáid le haghaidh gach modh HTTP (`POST ``, `PUT</code>, DELETE`, srl.).</p>\n<p>I gcás gach leathanach (freagra) a sheolann Django ar ais ó radharc, d'fhéadfadh sé dhá cheannteideal HTTP a sholáthar: an ceannteideal <code class=\"docutils literal notranslate\">Etag</code> agus an ceannteideal <code class=\"docutils literal notranslate\">`Last-Modified</code>. Tá na ceanntásca seo roghnach ar fhreagairtí HTTP. Is féidir iad a shocrú le d'fheidhm amharc, nó is féidir leat brath ar an: class: ~django.middleware.http.ConditionalGetMiddleware middleware chun an ceannteideal <code class=\"docutils literal notranslate\">Etag</code> a shocrú.</p>\n<p>&lt;9110 #section -13.1.1&gt; &lt;9110 #section -13.1.2&gt;Nuair a iarrann an cliant an acmhainn chéanna eile, féadfaidh sé ceannteideal a sheoladh ar nós: rfc: If-Modified-Since nó: rfc: If-&lt;9110 #section -13.1.3&gt; Unmodified-Since, ina bhfuil &lt;9110 #section -13.1.4&gt; dáta an t-am modhnaithe deireanach a seoladh é, nó fiú:rfc: If-Match nó:rfc: If-None-Match, ina raibh an Etag` deireanach seoladh. Má mheaitseálann an leagan reatha den leathanach leis an Etag ``a sheol an cliant, nó mura modhnaíodh an acmhainn, is féidir cód stádais 304 a sheoladh ar ais, in ionad freagra iomlán, ag insint don chliant nach bhfuil aon rud athraithe. Ag brath ar an gceanntásc, má tá an leathanach modhnaithe nó mura bhfuil an leathanach comhoiriúnach leis an `Etag` a sheol an cliant, féadfar cód stádais 412 (Réamhchoinníoll Theip) a thabhairt ar ais.</p>\n<p>Nuair a theastaíonn rialú níos mionghráite uait féadfaidh tú feidhmeanna próiseála coinníollach in aghaidh amharc a úsáid.</p>\n<section id=\"the-condition-decorator\">\n<span id=\"conditional-decorators\"></span><h2>An maisitheoir <code class=\"docutils literal notranslate\">coinníoll</code><a class=\"heading-anchor\" href=\"#the-condition-decorator\"><span class=\"visually-hidden\">Link to this heading</span><span aria-hidden=\"true\">#</span></a></h2>\n<p>Uaireanta (i ndáiríre, go minic) is féidir leat feidhmeanna a chruthú chun an luach: rfc: EtaG &lt;9110 #section -8.8.3&gt; nó an t-am deireanach modhnaithe d'acmhainn a ríomh go tapa, <a href=\"#id1\"><span class=\"problematic\" id=\"id2\">**</span></a>gan gá duit na ríomhanna go léir a theastaíonn chun an radharc iomlán a thógáil. Is féidir le Django na feidhmeanna seo a úsáid ansin chun rogha “fóirithint luath” a sholáthar don phróiseáil amharc. Ag rá leis an gcliant nár modhnaíodh an t-ábhar ón iarratas deireanach, b'fhéidir.</p>\n<p>Cuirtear an dá fheidhm seo ar aghaidh mar pharaiméadair chuig an maisitheoir <a href=\"#id1\"><span class=\"problematic\" id=\"id2\">``</span></a>django.views.decorators.http.condition`. Úsáideann an maisitheoir seo an dá fheidhm (ní gá duit ach ceann amháin a sholáthar, mura féidir leat an dá chainníocht a ríomh go héasca agus go tapa) chun oibriú amach má mheaitseálann na ceannteidil san iarratas HTTP iad siúd ar an acmhainn. Mura n-oireann siad, caithfear cóip nua den acmhainn a ríomh agus glaoch ar do ghnáthradharc.</p>\n<p>Tá cuma seo ar shíniú an maisitheora <code class=\"docutils literal notranslate\">coinníoll</code>:</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>condition<span class=\"p\">(</span>etag_func<span class=\"o\">=</span><span class=\"kc\">None</span><span class=\"p\">,</span> last_modified_func<span class=\"o\">=</span><span class=\"kc\">None</span><span class=\"p\">)</span>\n</code></pre></div>\n<p>Cuirfear an dá fheidhm, chun an eTag agus an t-am modhnaithe deireanach a ríomh, ar an réad <code class=\"docutils literal notranslate\">iarraidh` atá ag teacht isteach agus na paraiméadair chéanna, san ord céanna, mar an fheidhm amharc atá á gcabhrú leo a fhilleadh. Ba chóir don fheidhm a rith ``last_modified_func</code> luach caighdeánach dáta-ama a thabhairt ar ais ag sonrú an uair dheireanach a mhodhnaíodh an acmhainn, nó <code class=\"docutils literal notranslate\">None</code> mura bhfuil an acmhainn ann. &lt;9110 #section -8.8.3&gt;Ba chóir don fheidhm a chuirtear chuig an maisitheoir <code class=\"docutils literal notranslate\">etag</code> sreang a thabhairt ar ais a léiríonn na:rfc: Etag don acmhainn, nó <a href=\"#id1\"><span class=\"problematic\" id=\"id2\">``</span></a>None <a href=\"#id3\"><span class=\"problematic\" id=\"id4\">``</span></a>mura bhfuil sé ann.</p>\n<p>Socraíonn an maisitheoir na ceannteidil <code class=\"docutils literal notranslate\">Etag</code> agus <code class=\"docutils literal notranslate\">Last-Modified</code> ar an bhfreagra mura bhfuil siad socraithe ag an dearcadh cheana féin agus má tá modh an iarratais sábháilte (GET` nó HEAD`).</p>\n<p>Is dócha gur fearr a mhíniú le sampla an ghné seo a úsáid go húsáideach. Cuir i gcás go bhfuil an péire samhlacha seo agat, a léiríonn córas blag beag:</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\">import</span> <span class=\"nn\">datetime</span>\n<span class=\"kn\">from</span> <span class=\"nn\">django.db</span> <span class=\"kn\">import</span> models\n\n\n<span class=\"k\">class</span> <span class=\"nc\">Blog</span><span class=\"p\">(</span>models<span class=\"o\">.</span>Model<span class=\"p\">):</span> <span class=\"o\">...</span>\n\n\n<span class=\"k\">class</span> <span class=\"nc\">Entry</span><span class=\"p\">(</span>models<span class=\"o\">.</span>Model<span class=\"p\">):</span>\n    blog <span class=\"o\">=</span> models<span class=\"o\">.</span>ForeignKey<span class=\"p\">(</span>Blog<span class=\"p\">,</span> on_delete<span class=\"o\">=</span>models<span class=\"o\">.</span>CASCADE<span class=\"p\">)</span>\n    published <span class=\"o\">=</span> models<span class=\"o\">.</span>DateTimeField<span class=\"p\">(</span>default<span class=\"o\">=</span>datetime<span class=\"o\">.</span>datetime<span class=\"o\">.</span>now<span class=\"p\">)</span>\n    <span class=\"o\">...</span>\n</code></pre></div>\n<p>Mura n-athraíonn an leathanach tosaigh, ag taispeáint na hiontrálacha blag is déanaí, ach nuair a chuireann tú iontráil nua blag leis, is féidir leat an t-am deireanach modhnaithe a ríomh go han-tapa. Teastaíonn an dáta <a href=\"#id1\"><span class=\"problematic\" id=\"id2\">``</span></a>foilsithe <a href=\"#id3\"><span class=\"problematic\" id=\"id4\">``</span></a>is déanaí uait do gach iontráil a bhaineann leis an bhlag sin. Bealach amháin chun é seo a dhéanamh ná:</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=\"nf\">latest_entry</span><span class=\"p\">(</span>request<span class=\"p\">,</span> blog_id<span class=\"p\">):</span>\n    <span class=\"k\">return</span> Entry<span class=\"o\">.</span>objects<span class=\"o\">.</span>filter<span class=\"p\">(</span>blog<span class=\"o\">=</span>blog_id<span class=\"p\">)</span><span class=\"o\">.</span>latest<span class=\"p\">(</span><span class=\"s2\">&quot;published&quot;</span><span class=\"p\">)</span><span class=\"o\">.</span>published\n</code></pre></div>\n<p>Is féidir leat an fheidhm seo a úsáid ansin chun leathanach gan athrú a bhrath go luath do d'amharc leathanaigh tosaigh:</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=\"nn\">django.views.decorators.http</span> <span class=\"kn\">import</span> condition\n\n\n<span class=\"nd\">@condition</span><span class=\"p\">(</span>last_modified_func<span class=\"o\">=</span>latest_entry<span class=\"p\">)</span>\n<span class=\"k\">def</span> <span class=\"nf\">front_page</span><span class=\"p\">(</span>request<span class=\"p\">,</span> blog_id<span class=\"p\">):</span> <span class=\"o\">...</span>\n</code></pre></div>\n<aside class=\"admonition-be-careful-with-the-order-of-decorators admonition\" role=\"note\">\n<p class=\"admonition-title\">Bí cúramach le hord na mhaisitheoirí</p>\n<p>Nuair a fhilleann <a href=\"#id1\"><span class=\"problematic\" id=\"id2\">``</span></a>coinníoll () freagra coinníollach, scipeánfar aon mhaisitheoirí faoin bhfois agus ní bheidh feidhm acu leis an bhfreagra. Dá bhrí sin, caithfidh aon mhaisitheoirí a gcaithfidh iarratas a dhéanamh ar an bhfreagra radharc rialta agus ar fhreagra coinníollach a bheith os cionn ``coinníoll () `. &lt;9110 #section -15.4.5&gt;Go háirithe, ba chóir go dtiocfadh :func: ~django.views.decorators.vary.vary_on_cookie, :func: ~django.views.decorators.vary.vary_on_headers, agus:func: ~django.views.decorators.cache.cache_control toisc: <a href=\"#id3\"><span class=\"problematic\" id=\"id4\">`</span></a>110RFC 'éilíonn sé go mbeidh na ceanntásca a leagann siad i láthair ar 304 freagra.</p>\n</aside>\n</section>\n<section id=\"shortcuts-for-only-computing-one-value\">\n<h2>Aicearraí chun luach amháin a ríomh<a class=\"heading-anchor\" href=\"#shortcuts-for-only-computing-one-value\"><span class=\"visually-hidden\">Link to this heading</span><span aria-hidden=\"true\">#</span></a></h2>\n<p>Mar riail ghinearálta, más féidir leat feidhmeanna a sholáthar chun * an eTag agus an t-am deireanach modhnaithe a ríomh, ba cheart duit é sin a dhéanamh. Níl a fhios agat cé na ceanntásca a sheolfaidh aon chliant HTTP ar leith chugat, mar sin bí réidh chun an dá rud a láimhseáil. Mar sin féin, uaireanta ní furasta ach luach amháin a ríomh agus soláthraíonn Django maisiúcháin nach ndéanann ach eTag nó ríomhanna modhnaithe deiridh amháin.</p>\n<p>Rinne na maisitheoirí <code class=\"docutils literal notranslate\">django.views.decorators.http.etag</code> agus <code class=\"docutils literal notranslate\">django.views.decorators.http.last_modified</code> an cineál céanna feidhmeanna leis an maisitheoir <a href=\"#id1\"><span class=\"problematic\" id=\"id2\">``</span></a>condition`. Is iad seo a gcuid sínithe:</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>etag<span class=\"p\">(</span>etag_func<span class=\"p\">)</span>\nlast_modified<span class=\"p\">(</span>last_modified_func<span class=\"p\">)</span>\n</code></pre></div>\n<p>D'fhéadfaimis an sampla níos luaithe a scríobh, nach n-úsáideann ach feidhm modhnaithe deireanach, ag baint úsáide as ceann de na maisitheoirí seo:</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=\"nd\">@last_modified</span><span class=\"p\">(</span>latest_entry<span class=\"p\">)</span>\n<span class=\"k\">def</span> <span class=\"nf\">front_page</span><span class=\"p\">(</span>request<span class=\"p\">,</span> blog_id<span class=\"p\">):</span> <span class=\"o\">...</span>\n</code></pre></div>\n<p>... nó:</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=\"nf\">front_page</span><span class=\"p\">(</span>request<span class=\"p\">,</span> blog_id<span class=\"p\">):</span> <span class=\"o\">...</span>\n\n\nfront_page <span class=\"o\">=</span> last_modified<span class=\"p\">(</span>latest_entry<span class=\"p\">)(</span>front_page<span class=\"p\">)</span>\n</code></pre></div>\n<section id=\"use-condition-when-testing-both-conditions\">\n<h3>Úsáid <code class=\"docutils literal notranslate\">coinníoll</code> agus an dá choinníoll á thástáil<a class=\"heading-anchor\" href=\"#use-condition-when-testing-both-conditions\"><span class=\"visually-hidden\">Link to this heading</span><span aria-hidden=\"true\">#</span></a></h3>\n<p>D'fhéadfadh go mbeadh cuma níos deise ag daoine áirithe triail a bhaint as na maisitheoirí <code class=\"docutils literal notranslate\">etag</code> agus last_modified a shlánú más mian leat an dá réamhchoinníoll a thástáil. Mar sin féin, bheadh iompar mícheart mar thoradh air seo.</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=\"c1\"># Bad code. Don&#39;t do this!</span>\n<span class=\"nd\">@etag</span><span class=\"p\">(</span>etag_func<span class=\"p\">)</span>\n<span class=\"nd\">@last_modified</span><span class=\"p\">(</span>last_modified_func<span class=\"p\">)</span>\n<span class=\"k\">def</span> <span class=\"nf\">my_view</span><span class=\"p\">(</span>request<span class=\"p\">):</span> <span class=\"o\">...</span>\n\n\n<span class=\"c1\"># End of bad code.</span>\n</code></pre></div>\n<p>Níl a fhios ag an gcéad maisitheoir aon rud faoin dara ceann agus d'fhéadfadh sé freagra a thabhairt nach ndéantar an freagra a mhodhnú fiú má chinnfeadh an dara maisitheoirí a mhalairt. Úsáideann an maisitheoir <code class=\"docutils literal notranslate\">coinníoll</code> an dá fheidhm aisghlaonna ag an am céanna chun an gníomh ceart atá le déanamh a oibriú amach.</p>\n</section>\n</section>\n<section id=\"using-the-decorators-with-other-http-methods\">\n<h2>Ag baint úsáide as na maisitheoirí le modhanna HTTP eile<a class=\"heading-anchor\" href=\"#using-the-decorators-with-other-http-methods\"><span class=\"visually-hidden\">Link to this heading</span><span aria-hidden=\"true\">#</span></a></h2>\n<p>Tá an maisitheoir <code class=\"docutils literal notranslate\">coinníoll</code> úsáideach le haghaidh níos mó ná iarratais <code class=\"docutils literal notranslate\">GET</code> agus HEAD` amháin (tá iarratais <code class=\"docutils literal notranslate\">HEAD</code> mar an gcéanna le <code class=\"docutils literal notranslate\">GET</code> sa chás seo). Is féidir é a úsáid freisin chun seiceáil a sholáthar d'iarratais <code class=\"docutils literal notranslate\">POST ``, `PUT</code> agus <code class=\"docutils literal notranslate\">DELETE</code>. Sna cásanna seo, ní é an smaoineamh freagra “neamh-mhodhnaithe” a thabhairt ar ais, ach a rá don chliant gur athraíodh an acmhainn atá siad ag iarraidh a athrú idir an dá linn.</p>\n<p>Mar shampla, smaoinigh ar an malartú seo a leanas idir an cliant agus an freastalaí:</p>\n<ol class=\"arabic simple\">\n<li><p>Iarratann cliant <code class=\"docutils literal notranslate\">/foo/</code>.</p></li>\n<li><p>Freagraíonn freastalaí le ábhar áirithe le ETag de <a href=\"#id1\"><span class=\"problematic\" id=\"id2\">``</span></a>&quot;abcd1234&quot;<a href=\"#id3\"><span class=\"problematic\" id=\"id4\">`</span></a>.</p></li>\n<li><p>Seolann cliant iarratas HTTP <code class=\"docutils literal notranslate\">PUT</code> chuig <code class=\"docutils literal notranslate\">/foo/</code> chun an acmhainn a nuashonrú. Seolann sé ceanntásc <a href=\"#id1\"><span class=\"problematic\" id=\"id2\">``</span></a>If-Match: “abcd1234&quot; <a href=\"#id3\"><span class=\"problematic\" id=\"id4\">``</span></a>freisin chun an leagan atá á iarraidh a nuashonrú a shonrú.</p></li>\n<li><p>Seiceálann freastalaí chun a fháil amach an bhfuil an acmhainn athraithe, tríd an eTag a ríomh ar an mbealach céanna a dhéanann sé d'iarratas <a href=\"#id1\"><span class=\"problematic\" id=\"id2\">``</span></a>GET <a href=\"#id3\"><span class=\"problematic\" id=\"id4\">``</span></a>(ag baint úsáide as an bhfeidhm chéanna). Má athraíodh an acmhainne**, cuirfidh sé cód stádais 412 ar ais, rud a chiallaíonn “theip ar réamhchoinníoll”.</p></li>\n<li><p>Seolann an cliant iarratas <code class=\"docutils literal notranslate\">GET ``chuig `/foo/</code>, tar éis freagra 412 a fháil, leagan nuashonraithe den ábhar a aisghabháil sula ndéantar é a nuashonrú.</p></li>\n</ol>\n<p>Is é an rud tábhachtach a thaispeánann an sampla seo ná gur féidir na feidhmeanna céanna a úsáid chun luachanna eTag agus modhnú deireanacha a ríomh i ngach cás. Déanta na fírinne, ba cheart duit** na feidhmeanna céanna a úsáid, ionas go gcuirfear na luachanna céanna ar ais gach uair.</p>\n<aside class=\"admonition-validator-headers-with-non-safe-request-methods admonition\" role=\"note\">\n<p class=\"admonition-title\">Ceanntásca bailíochtaithe le modhanna iarratais neamhshábhá</p>\n<p>Ní shocraíonn an maisitheoir <code class=\"docutils literal notranslate\">coinníoll</code> ach ceannteidil bailíochtaithe (<code class=\"docutils literal notranslate\">Etag</code> agus <code class=\"docutils literal notranslate\">Last-Modified</code>) le haghaidh modhanna HTTP sábháilte, ie <code class=\"docutils literal notranslate\">GET</code> agus <code class=\"docutils literal notranslate\">HEAD</code>. Más mian leat iad a thabhairt ar ais i gcásanna eile, socraigh iad i do thuairim. Féach: RFC: 9110 #section -9.3.4 chun foghlaim faoin idirdhealú idir ceanntásc bailíochtaithe a shocrú mar fhreagra ar iarratais a rinneadh le PUT` i gcoinne <a href=\"#id1\"><span class=\"problematic\" id=\"id2\">``</span></a>POST <a href=\"#id3\"><span class=\"problematic\" id=\"id4\">``</span></a>.</p>\n</aside>\n</section>\n<section id=\"comparison-with-middleware-conditional-processing\">\n<h2>Comparáid le próiseáil choinníollach middleware<a class=\"heading-anchor\" href=\"#comparison-with-middleware-conditional-processing\"><span class=\"visually-hidden\">Link to this heading</span><span aria-hidden=\"true\">#</span></a></h2>\n<p>Soláthraíonn Django láimhseáil coinníollach <code class=\"docutils literal notranslate\">GET</code> via: class: django.middleware.http.conditionalGetMiddleware. Cé go bhfuil sé oiriúnach do go leor cásanna, tá teorainneacha ag an middleware maidir le hardúsáid:</p>\n<ul class=\"simple\">\n<li><p>Cuirtear i bhfeidhm go domhanda ar gach tuairim i do thionscadal.</p></li>\n<li><p>Ní shábhálann sé tú ón bhfreagra a ghiniúint, rud a d'fhéadfadh a bheith daor.</p></li>\n<li><p>Níl sé oiriúnach ach le haghaidh iarratais HTTP <code class=\"docutils literal notranslate\">GET</code>.</p></li>\n</ul>\n<p>Ba chóir duit an uirlis is oiriúnaí a roghnú do d'fhadhb ar leith anseo. Má tá bealach agat chun eTags agus amanna modhnaithe a ríomh go tapa agus má thógann dearcadh éigin tamall an t-ábhar a ghiniúint, ba cheart duit smaoineamh ar an maisitheoir <code class=\"docutils literal notranslate\">coinníoll</code> a thuairiscítear sa doiciméad seo a úsáid. Má ritheann gach rud go gasta cheana féin, cloí leis an meán-earraí a úsáid agus laghdófar méid tráchta líonra a sheoltar ar ais chuig na cliaint fós mura bhfuil an dearcadh athraithe.</p>\n</section>","rootId":"conditional-view-processing","toc":[{"title":"An maisitheoir coinníoll","anchor":"the-condition-decorator","children":[]},{"title":"Aicearraí chun luach amháin a ríomh","anchor":"shortcuts-for-only-computing-one-value","children":[{"title":"Úsáid coinníoll agus an dá choinníoll á thástáil","anchor":"use-condition-when-testing-both-conditions","children":[]}]},{"title":"Ag baint úsáide as na maisitheoirí le modhanna HTTP eile","anchor":"using-the-decorators-with-other-http-methods","children":[]},{"title":"Comparáid le próiseáil choinníollach middleware","anchor":"comparison-with-middleware-conditional-processing","children":[]}],"breadcrumbs":[{"docname":"topics/index","title":"Using Django","url":"/ga/5.2/topics/"}],"prev":{"docname":"topics/cache","title":"Creat taisce Django","url":"/ga/5.2/topics/cache/"},"next":{"docname":"topics/composite-primary-key","title":"Composite primary keys","url":"/ga/5.2/topics/composite-primary-key/"},"formats":{"html":"/ga/5.2/topics/conditional-view-processing/","markdown":"/ga/5.2/topics/conditional-view-processing.md","json":"/ga/5.2/topics/conditional-view-processing.json"},"source":"https://github.com/django/django/blob/stable/5.2.x/docs/topics/conditional-view-processing.txt","official":"https://docs.djangoproject.com/ga/5.2/topics/conditional-view-processing/","inVersions":["6.1","6.0","5.2"],"inLocales":["en","sv","zh-hans","ga","fr","ja","id","it","pt-br","ko","es","el","pl"]}