{"title":"Creat na teachtaireachtaí","version":"6.0","locale":"ga","docname":"ref/contrib/messages","url":"/ga/6.0/ref/contrib/messages/","canonical":"https://djangodocs.dev/ga/6.0/ref/contrib/messages/","summary":"Go coitianta in iarratais gréasáin, ní mór duit teachtaireacht fógra aon-uaire (ar a dtugtar “teachtaireacht splanc” freisin) a thaispeáint don úsáideoir tar éis…","html":"<span id=\"the-messages-framework\"></span><h1>Creat na teachtaireachtaí<a class=\"heading-anchor\" href=\"#module-django.contrib.messages\"><span class=\"visually-hidden\">Link to this heading</span><span aria-hidden=\"true\">#</span></a></h1>\n<p>Go coitianta in iarratais gréasáin, ní mór duit teachtaireacht fógra aon-uaire (ar a dtugtar “teachtaireacht splanc” freisin) a thaispeáint don úsáideoir tar éis foirm nó cineálacha éigin eile ionchuir úsáideora a phróiseáil.</p>\n<p>Chuige seo, soláthraíonn Django tacaíocht iomlán do theachtaireachtaí bunaithe ar fhianán agus seisiún, d'úsáideoirí gan ainm agus fíordheimhnithe araon. Ligeann an creat teachtaireachtaí duit teachtaireachtaí a stóráil go sealadach in iarratas amháin agus iad a aisghabháil le taispeáint in iarratas ina dhiaidh sin (an chéad cheann eile de ghnáth). Tá “leibhéal” ar leith clibeáilte ar gach teachtaireacht a chinneann a thosaíocht (m.sh., <code class=\"docutils literal notranslate\"><span class=\"pre\">info</span></code>, rabhadh `, nó <code class=\"docutils literal notranslate\"><span class=\"pre\">earráid</span></code>).</p>\n<section id=\"enabling-messages\">\n<h2>Teachtaireachtaí a chum<a class=\"heading-anchor\" href=\"#enabling-messages\"><span class=\"visually-hidden\">Link to this heading</span><span aria-hidden=\"true\">#</span></a></h2>\n<p>Cuirtear teachtaireachtaí i bhfeidhm trí aicme a:doc: middleware agus comhfhreagraí:doc: próiseálaí comhthéacs &lt;/ref/middleware&gt; &lt;/ref/templates/api&gt;.</p>\n<p>Tá na socruithe go léir a theastaíonn chun feidhmiúlacht teachtaireachta a chumasú sa réamhshocraithe <code class=\"docutils literal notranslate\"><span class=\"pre\">settings.py</span></code> a chruthaigh <code class=\"docutils literal notranslate\"><span class=\"pre\">django-admin</span> <span class=\"pre\">startproject</span></code> cheana féin:</p>\n<ul>\n<li><p>Tá <a href=\"#id1\"><span class=\"problematic\" id=\"id2\">``</span></a>'django.contrib.messages'` in:setting: INSTALLED_APPS.</p></li>\n<li><p><a class=\"reference internal\" href=\"/ga/6.0/ref/settings/#std-setting-MIDDLEWARE\"><code class=\"xref std std-setting docutils literal notranslate\"><span class=\"pre\">MIDDLEWARE</span></code></a> contains\n<code class=\"docutils literal notranslate\"><span class=\"pre\">'django.contrib.sessions.middleware.SessionMiddleware'</span></code> and\n<code class=\"docutils literal notranslate\"><span class=\"pre\">'django.contrib.messages.middleware.MessageMiddleware'</span></code>.</p>\n<p>&lt;/topics/http/sessions&gt; &lt;message-storage-backends&gt;Braitheann an réamhshocraithe:ref: backend stórála `ar:doc: `seisiúin. Sin an fáth go gcaithfear <code class=\"docutils literal notranslate\"><span class=\"pre\">SessionMiddleware</span></code> a chumasú agus a bheith le feiceáil roimh <code class=\"docutils literal notranslate\"><span class=\"pre\">MessageMiddleware</span></code> in:setting: MIDDLEWARE.</p>\n</li>\n<li><p>Tá <code class=\"docutils literal notranslate\"><span class=\"pre\">django.contrib.messages.context_processors.messages'</span></code> sa rogha <code class=\"docutils literal notranslate\"><span class=\"pre\">context_processors'</span> <span class=\"pre\">``den</span> <span class=\"pre\">chúlcheann</span> <span class=\"pre\">``DjangoTemplates</span></code> a shainmhínítear i do shuíomh: TEMPLATES.</p></li>\n</ul>\n<p>Mura dteastaíonn uait teachtaireachtaí a úsáid, is féidir leat <a href=\"#id1\"><span class=\"problematic\" id=\"id2\">``</span></a>django.contrib.messages'` a bhaint as d':setting: INSTALLED_APPS, an líne <a href=\"#id3\"><span class=\"problematic\" id=\"id4\">``</span></a>MessageMiddleware` ó:setting: MIDDLEWARE, agus an próiseálaí comhthéacs teachtaireachtaí ``ó:setting: `TEMPLATES.</p>\n</section>\n<section id=\"configuring-the-message-engine\">\n<h2>An t-inneall teachtaireachta a chumrú<a class=\"heading-anchor\" href=\"#configuring-the-message-engine\"><span class=\"visually-hidden\">Link to this heading</span><span aria-hidden=\"true\">#</span></a></h2>\n<section id=\"storage-backends\">\n<span id=\"message-storage-backends\"></span><h3>Cúltaca stórála<a class=\"heading-anchor\" href=\"#storage-backends\"><span class=\"visually-hidden\">Link to this heading</span><span aria-hidden=\"true\">#</span></a></h3>\n<p>Is féidir leis an gcreat teachtaireachtaí cúltaca éagsúla a úsáid chun teachtaireachtaí sealadacha a stó</p>\n<p>Soláthraíonn Django trí rang stórála ionsuite in:mod: django.contrib.messages:</p>\n<dl class=\"py class\">\n<dt class=\"sig sig-object py\" id=\"django.contrib.messages.storage.session.SessionStorage\">\n<em class=\"property\"><span class=\"k\"><span class=\"pre\">class</span></span><span class=\"w\"> </span></em><span class=\"sig-prename descclassname\"><span class=\"pre\">storage.session.</span></span><span class=\"sig-name descname\"><span class=\"pre\">SessionStorage</span></span><a class=\"heading-anchor\" href=\"#django.contrib.messages.storage.session.SessionStorage\"><span class=\"visually-hidden\">Link to this definition</span><span aria-hidden=\"true\">#</span></a></dt>\n<dd><p>Stórálann an rang seo gach teachtaireacht taobh istigh de sheisiún an iarratais. Dá bhrí sin éilíonn sé iarratas <a href=\"#id1\"><span class=\"problematic\" id=\"id2\">``</span></a>contrib.sessions` Django.</p>\n</dd></dl>\n\n<dl class=\"py class\">\n<dt class=\"sig sig-object py\" id=\"django.contrib.messages.storage.cookie.CookieStorage\">\n<em class=\"property\"><span class=\"k\"><span class=\"pre\">class</span></span><span class=\"w\"> </span></em><span class=\"sig-prename descclassname\"><span class=\"pre\">storage.cookie.</span></span><span class=\"sig-name descname\"><span class=\"pre\">CookieStorage</span></span><a class=\"heading-anchor\" href=\"#django.contrib.messages.storage.cookie.CookieStorage\"><span class=\"visually-hidden\">Link to this definition</span><span aria-hidden=\"true\">#</span></a></dt>\n<dd><p>Stórálann an rang seo sonraí na teachtaireachta i bhfianán (sínithe le hash rúnda chun ionramháil a chosc) chun fógraí a leanúint ar fud iarratais. Scaoiltear seantheachtaireachtaí dá mbeadh méid na sonraí fianán níos mó ná 2048 beát.</p>\n</dd></dl>\n\n<dl class=\"py class\">\n<dt class=\"sig sig-object py\" id=\"django.contrib.messages.storage.fallback.FallbackStorage\">\n<em class=\"property\"><span class=\"k\"><span class=\"pre\">class</span></span><span class=\"w\"> </span></em><span class=\"sig-prename descclassname\"><span class=\"pre\">storage.fallback.</span></span><span class=\"sig-name descname\"><span class=\"pre\">FallbackStorage</span></span><a class=\"heading-anchor\" href=\"#django.contrib.messages.storage.fallback.FallbackStorage\"><span class=\"visually-hidden\">Link to this definition</span><span aria-hidden=\"true\">#</span></a></dt>\n<dd><p>Úsáideann an rang seo CookieStorage` den chéad uair, agus titim siar ar <code class=\"docutils literal notranslate\"><span class=\"pre\">SessionStorage</span></code> a úsáid do na teachtaireachtaí nach bhféadfadh a bheith oiriúnach i bhfianán amháin. Éilíonn sé freisin iarratas <a href=\"#id1\"><span class=\"problematic\" id=\"id2\">``</span></a>contrib.sessions` Django.</p>\n<p>Seachnaíonn an t-iompar seo scríobh chuig an seisiún nuair is féidir. Ba chóir dó an fheidhmíocht is fearr a sholáthar sa chás ginearálta.</p>\n</dd></dl>\n\n<p><a class=\"reference internal\" href=\"#django.contrib.messages.storage.fallback.FallbackStorage\" title=\"django.contrib.messages.storage.fallback.FallbackStorage\"><code class=\"xref py py-class docutils literal notranslate\"><span class=\"pre\">FallbackStorage</span></code></a> is the\ndefault storage class. If it isn't suitable to your needs, you can select\nanother storage class by setting <a class=\"reference internal\" href=\"/ga/6.0/ref/settings/#std-setting-MESSAGE_STORAGE\"><code class=\"xref std std-setting docutils literal notranslate\"><span class=\"pre\">MESSAGE_STORAGE</span></code></a> to its full import\npath, for example:</p>\n<div class=\"code-block\" data-language=\"default\"><div class=\"code-block-toolbar\"><span class=\"code-block-language\">Code</span><button type=\"button\" class=\"copy-button\" data-copy hidden><span class=\"copy-button-label\">Copy</span></button></div><pre role=\"group\" tabindex=\"0\" aria-label=\"Code code\"><code><span class=\"n\">MESSAGE_STORAGE</span> <span class=\"o\">=</span> <span class=\"s2\">&quot;django.contrib.messages.storage.cookie.CookieStorage&quot;</span>\n</code></pre></div>\n<dl class=\"py class\">\n<dt class=\"sig sig-object py\" id=\"django.contrib.messages.storage.base.BaseStorage\">\n<em class=\"property\"><span class=\"k\"><span class=\"pre\">class</span></span><span class=\"w\"> </span></em><span class=\"sig-prename descclassname\"><span class=\"pre\">storage.base.</span></span><span class=\"sig-name descname\"><span class=\"pre\">BaseStorage</span></span><a class=\"heading-anchor\" href=\"#django.contrib.messages.storage.base.BaseStorage\"><span class=\"visually-hidden\">Link to this definition</span><span aria-hidden=\"true\">#</span></a></dt>\n<dd></dd></dl>\n\n<p>Chun do rang stórála féin a scríobh, fo-aicmigh an rang <code class=\"docutils literal notranslate\"><span class=\"pre\">BaseStorage</span></code> i <code class=\"docutils literal notranslate\"><span class=\"pre\">django.contrib.messages.storage.base</span></code> agus cuir na modhanna <code class=\"docutils literal notranslate\"><span class=\"pre\">_get</span></code> agus <code class=\"docutils literal notranslate\"><span class=\"pre\">_store</span></code> i bhfeidhm.</p>\n</section>\n<section id=\"message-levels\">\n<span id=\"message-level\"></span><h3>Leibhéil teachtaire<a class=\"heading-anchor\" href=\"#message-levels\"><span class=\"visually-hidden\">Link to this heading</span><span aria-hidden=\"true\">#</span></a></h3>\n<p>Tá creat na teachtaireachtaí bunaithe ar ailtireacht leibhéal inchumraithe cosúil le hailtireacht an mhodúl logála Python. Ligeann leibhéil teachtaireachtaí duit teachtaireachtaí a ghrúpáil de réir cineálacha ionas gur féidir iad a scagadh nó a thaispeáint go difriúil i</p>\n<p>Is iad na leibhéil ionsuite, ar féidir iad a allmhairiú go díreach ó <code class=\"docutils literal notranslate\"><span class=\"pre\">django.contrib.messages</span></code>:</p>\n<div class=\"table-scroll\" role=\"region\" tabindex=\"0\" aria-label=\"Table\"><table class=\"docutils align-default\">\n<thead>\n<tr class=\"row-odd\"><th class=\"head\"><p>Tairiseach</p></th>\n<th class=\"head\"><p>Cuspóir</p></th>\n</tr>\n</thead>\n<tbody>\n<tr class=\"row-even\"><td><p><code class=\"docutils literal notranslate\"><span class=\"pre\">DEBUG</span></code></p></td>\n<td><p>Teachtaireachtaí a bhaineann le forbairt a ndéanfar neamhaird orthu (nó a bhaint) in imscaradh táirgeachta</p></td>\n</tr>\n<tr class=\"row-odd\"><td><p><a href=\"#id1\"><span class=\"problematic\" id=\"id2\">``</span></a>EOLAS ``</p></td>\n<td><p>Teachtaireachtaí faisnéise don úsáideoir</p></td>\n</tr>\n<tr class=\"row-even\"><td><p><a href=\"#id1\"><span class=\"problematic\" id=\"id2\">``</span></a>RATH ``</p></td>\n<td><p>D'éirigh le gníomh, m.sh. “Nuashonraíodh do phróifíl go rathúil”</p></td>\n</tr>\n<tr class=\"row-odd\"><td><p><a href=\"#id1\"><span class=\"problematic\" id=\"id2\">``</span></a>RABHADH ``</p></td>\n<td><p>Níor tharla teip ach d'fhéadfadh sé a bheith le teacht</p></td>\n</tr>\n<tr class=\"row-even\"><td><p><code class=\"docutils literal notranslate\"><span class=\"pre\">EARRÁID</span></code></p></td>\n<td><p>Níor éirigh le gníomh nó tharla teip éigin eile</p></td>\n</tr>\n</tbody>\n</table>\n</div>\n<p>Is féidir an socrú: SETTING: MESSAGE_LEVEL a úsáid chun an leibhéal íosta taifeadta a athrú (nó is féidir é a <a class=\"reference internal\" href=\"#changing-the-minimum-recorded-level-per-request\">athrú in aghaidh an iarrata</a>). Déanfar neamhaird ar iarrachtaí teachtaireachtaí de leibhéal níos lú ná seo a chur leis.</p>\n</section>\n<section id=\"message-tags\">\n<h3>Clibeanna teachtaireachta<a class=\"heading-anchor\" href=\"#message-tags\"><span class=\"visually-hidden\">Link to this heading</span><span aria-hidden=\"true\">#</span></a></h3>\n<p>Is léiriú teaghrán iad clibeanna teachtaireachta ar leibhéal na teachtaireachta móide aon chlibeanna breise a cuireadh go díreach sa radharc (féach <a href=\"#id1\"><span class=\"problematic\" id=\"id2\">`</span></a>Clibeanna teachtaireachta breise a chur leis <a href=\"#id3\"><span class=\"problematic\" id=\"id4\">`</span></a>_ thíos le haghaidh tuilleadh sonraí). Stóráiltear clibeanna i sreang agus tá siad scartha le spásanna. De ghnáth, úsáidtear clibeanna teachtaireachta mar ranganna CSS chun stíl teachtaireachta a shaincheapadh bunaithe ar chineál teachtai De réir réamhshocraithe, tá clib amháin ag gach leibhéal atá ina leagan beag dá tairiseach féin:</p>\n<div class=\"table-scroll\" role=\"region\" tabindex=\"0\" aria-label=\"Table\"><table class=\"docutils align-default\">\n<thead>\n<tr class=\"row-odd\"><th class=\"head\"><p>Leibhéal Tairiseach</p></th>\n<th class=\"head\"><p>Clib</p></th>\n</tr>\n</thead>\n<tbody>\n<tr class=\"row-even\"><td><p><code class=\"docutils literal notranslate\"><span class=\"pre\">DEBUG</span></code></p></td>\n<td><p><code class=\"docutils literal notranslate\"><span class=\"pre\">Debug</span></code></p></td>\n</tr>\n<tr class=\"row-odd\"><td><p><a href=\"#id1\"><span class=\"problematic\" id=\"id2\">``</span></a>EOLAS ``</p></td>\n<td><p><a href=\"#id1\"><span class=\"problematic\" id=\"id2\">``</span></a>eolas ``</p></td>\n</tr>\n<tr class=\"row-even\"><td><p><a href=\"#id1\"><span class=\"problematic\" id=\"id2\">``</span></a>RATH ``</p></td>\n<td><p><a href=\"#id1\"><span class=\"problematic\" id=\"id2\">``</span></a>rath ``</p></td>\n</tr>\n<tr class=\"row-odd\"><td><p><a href=\"#id1\"><span class=\"problematic\" id=\"id2\">``</span></a>RABHADH ``</p></td>\n<td><p><a href=\"#id1\"><span class=\"problematic\" id=\"id2\">``</span></a>rabhadh ``</p></td>\n</tr>\n<tr class=\"row-even\"><td><p><code class=\"docutils literal notranslate\"><span class=\"pre\">EARRÁID</span></code></p></td>\n<td><p><code class=\"docutils literal notranslate\"><span class=\"pre\">earráid</span></code></p></td>\n</tr>\n</tbody>\n</table>\n</div>\n<p>Chun na clibeanna réamhshocraithe do leibhéal teachtaireachta a athrú (ionsuite nó saincheaptha), socraigh an socrú:setting: MESSAGE_TAGS chuig foclóir ina bhfuil na leibhéil is mian leat a athrú. De réir mar a leathnaíonn sé seo na clibeanna réamhshocraithe, ní gá duit ach clibeanna a sholáthar do na leibhéil is mian leat a shárú:</p>\n<div class=\"code-block\" data-language=\"default\"><div class=\"code-block-toolbar\"><span class=\"code-block-language\">Code</span><button type=\"button\" class=\"copy-button\" data-copy hidden><span class=\"copy-button-label\">Copy</span></button></div><pre role=\"group\" tabindex=\"0\" aria-label=\"Code code\"><code><span class=\"kn\">from</span><span class=\"w\"> </span><span class=\"nn\">django.contrib.messages</span><span class=\"w\"> </span><span class=\"kn\">import</span> <span class=\"n\">constants</span> <span class=\"k\">as</span> <span class=\"n\">messages</span>\n\n<span class=\"n\">MESSAGE_TAGS</span> <span class=\"o\">=</span> <span class=\"p\">{</span>\n    <span class=\"n\">messages</span><span class=\"o\">.</span><span class=\"n\">INFO</span><span class=\"p\">:</span> <span class=\"s2\">&quot;&quot;</span><span class=\"p\">,</span>\n    <span class=\"mi\">50</span><span class=\"p\">:</span> <span class=\"s2\">&quot;critical&quot;</span><span class=\"p\">,</span>\n<span class=\"p\">}</span>\n</code></pre></div>\n</section>\n</section>\n<section id=\"using-messages-in-views-and-templates\">\n<h2>Ag baint úsáide as teachtaireachtaí i radhairc<a class=\"heading-anchor\" href=\"#using-messages-in-views-and-templates\"><span class=\"visually-hidden\">Link to this heading</span><span aria-hidden=\"true\">#</span></a></h2>\n<dl class=\"py function\">\n<dt class=\"sig sig-object py\" id=\"django.contrib.messages.add_message\">\n<span class=\"sig-name descname\"><span class=\"pre\">add_message</span></span><span class=\"sig-paren\">(</span><em class=\"sig-param\"><span class=\"n\"><span class=\"pre\">request</span></span></em>, <em class=\"sig-param\"><span class=\"n\"><span class=\"pre\">level</span></span></em>, <em class=\"sig-param\"><span class=\"n\"><span class=\"pre\">message</span></span></em>, <em class=\"sig-param\"><span class=\"n\"><span class=\"pre\">extra_tags</span></span><span class=\"o\"><span class=\"pre\">=</span></span><span class=\"default_value\"><span class=\"pre\">''</span></span></em>, <em class=\"sig-param\"><span class=\"n\"><span class=\"pre\">fail_silently</span></span><span class=\"o\"><span class=\"pre\">=</span></span><span class=\"default_value\"><span class=\"pre\">False</span></span></em><span class=\"sig-paren\">)</span><a class=\"heading-anchor\" href=\"#django.contrib.messages.add_message\"><span class=\"visually-hidden\">Link to this definition</span><span aria-hidden=\"true\">#</span></a></dt>\n<dd></dd></dl>\n\n<section id=\"adding-a-message\">\n<h3>Teachtaireacht a chur leis<a class=\"heading-anchor\" href=\"#adding-a-message\"><span class=\"visually-hidden\">Link to this heading</span><span aria-hidden=\"true\">#</span></a></h3>\n<p>Chun teachtaireacht a chur leis, glaoigh ar:</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.contrib</span><span class=\"w\"> </span><span class=\"kn\">import</span> <span class=\"n\">messages</span>\n\n<span class=\"n\">messages</span><span class=\"o\">.</span><span class=\"n\">add_message</span><span class=\"p\">(</span><span class=\"n\">request</span><span class=\"p\">,</span> <span class=\"n\">messages</span><span class=\"o\">.</span><span class=\"n\">INFO</span><span class=\"p\">,</span> <span class=\"s2\">&quot;Hello world.&quot;</span><span class=\"p\">)</span>\n</code></pre></div>\n<p>Soláthraíonn roinnt modhanna aicearra bealach caighdeánach chun teachtaireachtaí a chur le clibeanna a úsáidtear go coitianta (a léirítear de ghnáth mar ranganna HTML don teachtaireacht):</p>\n<div class=\"code-block\" data-language=\"default\"><div class=\"code-block-toolbar\"><span class=\"code-block-language\">Code</span><button type=\"button\" class=\"copy-button\" data-copy hidden><span class=\"copy-button-label\">Copy</span></button></div><pre role=\"group\" tabindex=\"0\" aria-label=\"Code code\"><code><span class=\"n\">messages</span><span class=\"o\">.</span><span class=\"n\">debug</span><span class=\"p\">(</span><span class=\"n\">request</span><span class=\"p\">,</span> <span class=\"s2\">&quot;</span><span class=\"si\">%s</span><span class=\"s2\"> SQL statements were executed.&quot;</span> <span class=\"o\">%</span> <span class=\"n\">count</span><span class=\"p\">)</span>\n<span class=\"n\">messages</span><span class=\"o\">.</span><span class=\"n\">info</span><span class=\"p\">(</span><span class=\"n\">request</span><span class=\"p\">,</span> <span class=\"s2\">&quot;Three credits remain in your account.&quot;</span><span class=\"p\">)</span>\n<span class=\"n\">messages</span><span class=\"o\">.</span><span class=\"n\">success</span><span class=\"p\">(</span><span class=\"n\">request</span><span class=\"p\">,</span> <span class=\"s2\">&quot;Profile details updated.&quot;</span><span class=\"p\">)</span>\n<span class=\"n\">messages</span><span class=\"o\">.</span><span class=\"n\">warning</span><span class=\"p\">(</span><span class=\"n\">request</span><span class=\"p\">,</span> <span class=\"s2\">&quot;Your account expires in three days.&quot;</span><span class=\"p\">)</span>\n<span class=\"n\">messages</span><span class=\"o\">.</span><span class=\"n\">error</span><span class=\"p\">(</span><span class=\"n\">request</span><span class=\"p\">,</span> <span class=\"s2\">&quot;Document deleted.&quot;</span><span class=\"p\">)</span>\n</code></pre></div>\n</section>\n<section id=\"displaying-messages\">\n<span id=\"message-displaying\"></span><h3>Teachtaireachtaí a th<a class=\"heading-anchor\" href=\"#displaying-messages\"><span class=\"visually-hidden\">Link to this heading</span><span aria-hidden=\"true\">#</span></a></h3>\n<dl class=\"py function\">\n<dt class=\"sig sig-object py\" id=\"django.contrib.messages.get_messages\">\n<span class=\"sig-name descname\"><span class=\"pre\">get_messages</span></span><span class=\"sig-paren\">(</span><em class=\"sig-param\"><span class=\"n\"><span class=\"pre\">request</span></span></em><span class=\"sig-paren\">)</span><a class=\"heading-anchor\" href=\"#django.contrib.messages.get_messages\"><span class=\"visually-hidden\">Link to this definition</span><span aria-hidden=\"true\">#</span></a></dt>\n<dd></dd></dl>\n\n<p>** I do theimpléad**, bain úsáid as rud éigin mar:</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\">messages</span> <span class=\"cp\">%}</span>\n<span class=\"p\">&lt;</span><span class=\"nt\">ul</span> <span class=\"na\">class</span><span class=\"o\">=</span><span class=\"s\">&quot;messages&quot;</span><span class=\"p\">&gt;</span>\n    <span class=\"cp\">{%</span> <span class=\"k\">for</span> <span class=\"nv\">message</span> <span class=\"k\">in</span> <span class=\"nv\">messages</span> <span class=\"cp\">%}</span>\n    <span class=\"p\">&lt;</span><span class=\"nt\">li</span><span class=\"cp\">{%</span> <span class=\"k\">if</span> <span class=\"nv\">message.tags</span> <span class=\"cp\">%}</span> <span class=\"na\">class</span><span class=\"o\">=</span><span class=\"s\">&quot;</span><span class=\"cp\">{{</span> <span class=\"nv\">message.tags</span> <span class=\"cp\">}}</span><span class=\"s\">&quot;</span><span class=\"cp\">{%</span> <span class=\"k\">endif</span> <span class=\"cp\">%}</span><span class=\"p\">&gt;</span><span class=\"cp\">{{</span> <span class=\"nv\">message</span> <span class=\"cp\">}}</span><span class=\"p\">&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\">ul</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>Má tá an próiseálaí comhthéacs á úsáid agat, ba chóir do theimpléad a léiriú le <code class=\"docutils literal notranslate\"><span class=\"pre\">RequestContext</span></code>. Seachas sin, cinntigh go bhfuil <a href=\"#id1\"><span class=\"problematic\" id=\"id2\">`</span></a>teachtaireachtaí <a href=\"#id3\"><span class=\"problematic\" id=\"id4\">``</span></a>ar fáil do chomhthéacs an teimpléid.</p>\n<p>Fiú má tá a fhios agat nach bhfuil ach teachtaireacht amháin ann, ba cheart duit athrá a dhéanamh fós thar an seicheamh <a href=\"#id1\"><span class=\"problematic\" id=\"id2\">``</span></a>teachtaireachtaí <a href=\"#id3\"><span class=\"problematic\" id=\"id4\">``</span></a>, mar ar shlí eile ní ghlanfar an stóráil teachtaireachta don chéad iarratas eile.</p>\n<p>Soláthraíonn an próiseálaí comhthéacs athróg <code class=\"docutils literal notranslate\"><span class=\"pre\">DEFAULT_MESSAGE_LEVELS</span></code> freisin ar mhapáil ar ainmneacha leibhéal na teachtaireachta ar a luach uimhriúil:</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\">messages</span> <span class=\"cp\">%}</span>\n<span class=\"p\">&lt;</span><span class=\"nt\">ul</span> <span class=\"na\">class</span><span class=\"o\">=</span><span class=\"s\">&quot;messages&quot;</span><span class=\"p\">&gt;</span>\n    <span class=\"cp\">{%</span> <span class=\"k\">for</span> <span class=\"nv\">message</span> <span class=\"k\">in</span> <span class=\"nv\">messages</span> <span class=\"cp\">%}</span>\n    <span class=\"p\">&lt;</span><span class=\"nt\">li</span><span class=\"cp\">{%</span> <span class=\"k\">if</span> <span class=\"nv\">message.tags</span> <span class=\"cp\">%}</span> <span class=\"na\">class</span><span class=\"o\">=</span><span class=\"s\">&quot;</span><span class=\"cp\">{{</span> <span class=\"nv\">message.tags</span> <span class=\"cp\">}}</span><span class=\"s\">&quot;</span><span class=\"cp\">{%</span> <span class=\"k\">endif</span> <span class=\"cp\">%}</span><span class=\"p\">&gt;</span>\n        <span class=\"cp\">{%</span> <span class=\"k\">if</span> <span class=\"nv\">message.level</span> <span class=\"o\">==</span> <span class=\"nv\">DEFAULT_MESSAGE_LEVELS.ERROR</span> <span class=\"cp\">%}</span>Important: <span class=\"cp\">{%</span> <span class=\"k\">endif</span> <span class=\"cp\">%}</span>\n        <span class=\"cp\">{{</span> <span class=\"nv\">message</span> <span class=\"cp\">}}</span>\n    <span class=\"p\">&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\">ul</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><strong>Taobh amuigh de theimpléid</strong>, is féidir leat úsáid a úsáid:func: ~django.contrib.messages.get_messages:</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.contrib.messages</span><span class=\"w\"> </span><span class=\"kn\">import</span> <span class=\"n\">get_messages</span>\n\n<span class=\"n\">storage</span> <span class=\"o\">=</span> <span class=\"n\">get_messages</span><span class=\"p\">(</span><span class=\"n\">request</span><span class=\"p\">)</span>\n<span class=\"k\">for</span> <span class=\"n\">message</span> <span class=\"ow\">in</span> <span class=\"n\">storage</span><span class=\"p\">:</span>\n    <span class=\"n\">do_something_with_the_message</span><span class=\"p\">(</span><span class=\"n\">message</span><span class=\"p\">)</span>\n</code></pre></div>\n<p>&lt;jsonresponsemixin-example&gt;Mar shampla, is féidir leat na teachtaireachtaí go léir a fháil chun iad a thabhairt ar ais in a:ref: JsonResponseMixin `in ionad a:class: `~Django.Views.Generic.Base.TemplateResponseMixin.</p>\n<p><a class=\"reference internal\" href=\"#django.contrib.messages.get_messages\" title=\"django.contrib.messages.get_messages\"><code class=\"xref py py-func docutils literal notranslate\"><span class=\"pre\">get_messages()</span></code></a> will return an\ninstance of the configured storage backend.</p>\n</section>\n<section id=\"the-message-class\">\n<h3>An rang <a href=\"#id1\"><span class=\"problematic\" id=\"id2\">``</span></a>Teachtaireacht ``<a class=\"heading-anchor\" href=\"#the-message-class\"><span class=\"visually-hidden\">Link to this heading</span><span aria-hidden=\"true\">#</span></a></h3>\n<dl class=\"py class\">\n<dt class=\"sig sig-object py\" id=\"django.contrib.messages.Message\">\n<em class=\"property\"><span class=\"k\"><span class=\"pre\">class</span></span><span class=\"w\"> </span></em><span class=\"sig-name descname\"><span class=\"pre\">Message</span></span><a class=\"heading-anchor\" href=\"#django.contrib.messages.Message\"><span class=\"visually-hidden\">Link to this definition</span><span aria-hidden=\"true\">#</span></a></dt>\n<dd><p>Nuair a bhíonn tú ag lúb thar liosta na dteachtaireachtaí i dteimpléad, is cásanna den rang <a href=\"#id1\"><span class=\"problematic\" id=\"id2\">``</span></a>Teachtaireacht <a href=\"#id3\"><span class=\"problematic\" id=\"id4\">``</span></a>a fhaigheann tú. Níl ach cúpla tréith acu:</p>\n<ul class=\"simple\">\n<li><p><a href=\"#id1\"><span class=\"problematic\" id=\"id2\">``</span></a>teachtaireacht <a href=\"#id3\"><span class=\"problematic\" id=\"id4\">``</span></a>: Téacs iarbhír na teachtaireachta.</p></li>\n<li><p><a href=\"#id1\"><span class=\"problematic\" id=\"id2\">``</span></a>leibhéil <a href=\"#id3\"><span class=\"problematic\" id=\"id4\">``</span></a>: Sláimhir a thuairiscíonn cineál na teachtaireachta (féach an chuid <a href=\"#id5\"><span class=\"problematic\" id=\"id6\">`</span></a>leibhéil teachtaireachtaí <a href=\"#id7\"><span class=\"problematic\" id=\"id8\">`</span></a>_ thuas).</p></li>\n<li><p><code class=\"docutils literal notranslate\"><span class=\"pre\">tags</span></code>: Sreang a chomhcheanglaíonn clibeanna uile na teachtaireachta (<code class=\"docutils literal notranslate\"><span class=\"pre\">extra_tags</span></code> agus <code class=\"docutils literal notranslate\"><span class=\"pre\">level_tag</span></code>) scartha le spásanna.</p></li>\n<li><p><code class=\"docutils literal notranslate\"><span class=\"pre\">extra_tags</span></code>: Sreang ina bhfuil clibeanna saincheaptha don teachtaireacht seo, scartha le spásanna. Tá sé folamh de réir réamhshocraithe.</p></li>\n<li><p><code class=\"docutils literal notranslate\"><span class=\"pre\">level_tag</span></code>: An léiriú teaghrán ar an leibhéal. De réir réamhshocraithe, is é an leagan beaga d'ainm an tairiseach gaolmhar é, ach is féidir é seo a athrú más gá duit tríd an socrú: setting: MESSAGE_TAGS a úsáid.</p></li>\n</ul>\n</dd></dl>\n\n</section>\n<section id=\"creating-custom-message-levels\">\n<h3>Leibhéil teachtaireachta saincheaptha<a class=\"heading-anchor\" href=\"#creating-custom-message-levels\"><span class=\"visually-hidden\">Link to this heading</span><span aria-hidden=\"true\">#</span></a></h3>\n<p>Níl aon rud níos mó ná sláimhreacha iad leibhéil teachtaireachtaí, ionas gur féidir leat do choirmeannaigh leibhéil féin a shainiú agus iad a úsáid chun aiseolas úsáideoirí níos saincheaptha a chruthú, m.sh.:</p>\n<div class=\"code-block\" data-language=\"default\"><div class=\"code-block-toolbar\"><span class=\"code-block-language\">Code</span><button type=\"button\" class=\"copy-button\" data-copy hidden><span class=\"copy-button-label\">Copy</span></button></div><pre role=\"group\" tabindex=\"0\" aria-label=\"Code code\"><code><span class=\"n\">CRITICAL</span> <span class=\"o\">=</span> <span class=\"mi\">50</span>\n\n\n<span class=\"k\">def</span><span class=\"w\"> </span><span class=\"nf\">my_view</span><span class=\"p\">(</span><span class=\"n\">request</span><span class=\"p\">):</span>\n    <span class=\"n\">messages</span><span class=\"o\">.</span><span class=\"n\">add_message</span><span class=\"p\">(</span><span class=\"n\">request</span><span class=\"p\">,</span> <span class=\"n\">CRITICAL</span><span class=\"p\">,</span> <span class=\"s2\">&quot;A serious error occurred.&quot;</span><span class=\"p\">)</span>\n</code></pre></div>\n<p>Agus leibhéil teachtaireachta saincheaptha á chruthú agat ba chóir duit a bheith cúramach chun ró-ualú a sheachaint Is iad na luachanna do na leibhéil ionsuite:</p>\n<div class=\"table-scroll\" role=\"region\" tabindex=\"0\" aria-label=\"Table\"><table class=\"docutils align-default\" id=\"message-level-constants\">\n<thead>\n<tr class=\"row-odd\"><th class=\"head\"><p>Leibhéal Tairiseach</p></th>\n<th class=\"head\"><p>Luach</p></th>\n</tr>\n</thead>\n<tbody>\n<tr class=\"row-even\"><td><p><code class=\"docutils literal notranslate\"><span class=\"pre\">DEBUG</span></code></p></td>\n<td><p>10</p></td>\n</tr>\n<tr class=\"row-odd\"><td><p><a href=\"#id1\"><span class=\"problematic\" id=\"id2\">``</span></a>EOLAS ``</p></td>\n<td><p>20</p></td>\n</tr>\n<tr class=\"row-even\"><td><p><a href=\"#id1\"><span class=\"problematic\" id=\"id2\">``</span></a>RATH ``</p></td>\n<td><p>25</p></td>\n</tr>\n<tr class=\"row-odd\"><td><p><a href=\"#id1\"><span class=\"problematic\" id=\"id2\">``</span></a>RABHADH ``</p></td>\n<td><p>30</p></td>\n</tr>\n<tr class=\"row-even\"><td><p><code class=\"docutils literal notranslate\"><span class=\"pre\">EARRÁID</span></code></p></td>\n<td><p>40</p></td>\n</tr>\n</tbody>\n</table>\n</div>\n<p>Más gá duit na leibhéil saincheaptha i do HTML nó CSS a aithint, ní mór duit mapáil a sholáthar tríd an socrú: setting: MESSAGE_TAGS.</p>\n<aside class=\"admonition admonition-note\" role=\"note\">\n<p class=\"admonition-title\">Note</p>\n<p>Má tá feidhmchlár in-athúsáidte á chruthú agat, moltar ach na <a href=\"#id1\"><span class=\"problematic\" id=\"id2\">`</span></a>leibhéil teachtaireachtaí <a href=\"#id3\"><span class=\"problematic\" id=\"id4\">`</span></a>_ ionsuite a úsáid agus gan brath ar aon leibhéil saincheaptha.</p>\n</aside>\n</section>\n<section id=\"changing-the-minimum-recorded-level-per-request\">\n<h3>An leibhéal íosta taifeadta in aghaidh an iarratais<a class=\"heading-anchor\" href=\"#changing-the-minimum-recorded-level-per-request\"><span class=\"visually-hidden\">Link to this heading</span><span aria-hidden=\"true\">#</span></a></h3>\n<p>Is féidir an leibhéal íosta taifeadta a shocrú in aghaidh an iarratais tríd an modh set_level:</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.contrib</span><span class=\"w\"> </span><span class=\"kn\">import</span> <span class=\"n\">messages</span>\n\n<span class=\"c1\"># Change the messages level to ensure the debug message is added.</span>\n<span class=\"n\">messages</span><span class=\"o\">.</span><span class=\"n\">set_level</span><span class=\"p\">(</span><span class=\"n\">request</span><span class=\"p\">,</span> <span class=\"n\">messages</span><span class=\"o\">.</span><span class=\"n\">DEBUG</span><span class=\"p\">)</span>\n<span class=\"n\">messages</span><span class=\"o\">.</span><span class=\"n\">debug</span><span class=\"p\">(</span><span class=\"n\">request</span><span class=\"p\">,</span> <span class=\"s2\">&quot;Test message...&quot;</span><span class=\"p\">)</span>\n\n<span class=\"c1\"># In another request, record only messages with a level of WARNING and higher</span>\n<span class=\"n\">messages</span><span class=\"o\">.</span><span class=\"n\">set_level</span><span class=\"p\">(</span><span class=\"n\">request</span><span class=\"p\">,</span> <span class=\"n\">messages</span><span class=\"o\">.</span><span class=\"n\">WARNING</span><span class=\"p\">)</span>\n<span class=\"n\">messages</span><span class=\"o\">.</span><span class=\"n\">success</span><span class=\"p\">(</span><span class=\"n\">request</span><span class=\"p\">,</span> <span class=\"s2\">&quot;Your profile was updated.&quot;</span><span class=\"p\">)</span>  <span class=\"c1\"># ignored</span>\n<span class=\"n\">messages</span><span class=\"o\">.</span><span class=\"n\">warning</span><span class=\"p\">(</span><span class=\"n\">request</span><span class=\"p\">,</span> <span class=\"s2\">&quot;Your account is about to expire.&quot;</span><span class=\"p\">)</span>  <span class=\"c1\"># recorded</span>\n\n<span class=\"c1\"># Set the messages level back to default.</span>\n<span class=\"n\">messages</span><span class=\"o\">.</span><span class=\"n\">set_level</span><span class=\"p\">(</span><span class=\"n\">request</span><span class=\"p\">,</span> <span class=\"kc\">None</span><span class=\"p\">)</span>\n</code></pre></div>\n<p>Ar an gcaoi chéanna, is féidir an leibhéal éifeachtach reatha a aisghabháil le <a href=\"#id1\"><span class=\"problematic\" id=\"id2\">``</span></a>get_level`:</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.contrib</span><span class=\"w\"> </span><span class=\"kn\">import</span> <span class=\"n\">messages</span>\n\n<span class=\"n\">current_level</span> <span class=\"o\">=</span> <span class=\"n\">messages</span><span class=\"o\">.</span><span class=\"n\">get_level</span><span class=\"p\">(</span><span class=\"n\">request</span><span class=\"p\">)</span>\n</code></pre></div>\n<p>Le haghaidh tuilleadh faisnéise faoi conas a fheidhmíonn an leibhéal íosta taifeadta, féach <a href=\"#id1\"><span class=\"problematic\" id=\"id2\">`</span></a>Leibhéil teachtaireachtaí <a href=\"#id3\"><span class=\"problematic\" id=\"id4\">`</span></a>_ thuas</p>\n</section>\n<section id=\"adding-extra-message-tags\">\n<h3>Clibeanna teachtaireachta breise<a class=\"heading-anchor\" href=\"#adding-extra-message-tags\"><span class=\"visually-hidden\">Link to this heading</span><span aria-hidden=\"true\">#</span></a></h3>\n<p>Le haghaidh rialú níos díreach ar chlibeanna teachtaireachta, is féidir leat sreang ina bhfuil clibeanna breise a sholáthar go roghnach le haon cheann de na modhanna breise:</p>\n<div class=\"code-block\" data-language=\"default\"><div class=\"code-block-toolbar\"><span class=\"code-block-language\">Code</span><button type=\"button\" class=\"copy-button\" data-copy hidden><span class=\"copy-button-label\">Copy</span></button></div><pre role=\"group\" tabindex=\"0\" aria-label=\"Code code\"><code><span class=\"n\">messages</span><span class=\"o\">.</span><span class=\"n\">add_message</span><span class=\"p\">(</span><span class=\"n\">request</span><span class=\"p\">,</span> <span class=\"n\">messages</span><span class=\"o\">.</span><span class=\"n\">INFO</span><span class=\"p\">,</span> <span class=\"s2\">&quot;Over 9000!&quot;</span><span class=\"p\">,</span> <span class=\"n\">extra_tags</span><span class=\"o\">=</span><span class=\"s2\">&quot;dragonball&quot;</span><span class=\"p\">)</span>\n<span class=\"n\">messages</span><span class=\"o\">.</span><span class=\"n\">error</span><span class=\"p\">(</span><span class=\"n\">request</span><span class=\"p\">,</span> <span class=\"s2\">&quot;Email box full&quot;</span><span class=\"p\">,</span> <span class=\"n\">extra_tags</span><span class=\"o\">=</span><span class=\"s2\">&quot;email&quot;</span><span class=\"p\">)</span>\n</code></pre></div>\n<p>Cuirtear clibeanna breise leis roimh an gclib réamhshocraithe don leibhéal sin agus tá spás scartha orthu.</p>\n</section>\n<section id=\"failing-silently-when-the-message-framework-is-disabled\">\n<h3>Teipeann sé go ciúin nuair a dhéantar creat na teachtaireachta a<a class=\"heading-anchor\" href=\"#failing-silently-when-the-message-framework-is-disabled\"><span class=\"visually-hidden\">Link to this heading</span><span aria-hidden=\"true\">#</span></a></h3>\n<p>Má tá tú ag scríobh aip in-athúsáidte (nó píosa cód eile) agus má theastaíonn uait feidhmiúlacht teachtaireachtaí a áireamh, ach mura dteastaíonn uait a cheangal ar d'úsáideoirí é a chumasú mura dteastaíonn uathu, féadfaidh tú argóint eochairfhocal breise <code class=\"docutils literal notranslate\"><span class=\"pre\">fail_silently=true</span></code> a chur chuig aon cheann de na modhanna <code class=\"docutils literal notranslate\"><span class=\"pre\">add_message</span></code>. Mar shampla:</p>\n<div class=\"code-block\" data-language=\"default\"><div class=\"code-block-toolbar\"><span class=\"code-block-language\">Code</span><button type=\"button\" class=\"copy-button\" data-copy hidden><span class=\"copy-button-label\">Copy</span></button></div><pre role=\"group\" tabindex=\"0\" aria-label=\"Code code\"><code><span class=\"n\">messages</span><span class=\"o\">.</span><span class=\"n\">add_message</span><span class=\"p\">(</span>\n    <span class=\"n\">request</span><span class=\"p\">,</span>\n    <span class=\"n\">messages</span><span class=\"o\">.</span><span class=\"n\">SUCCESS</span><span class=\"p\">,</span>\n    <span class=\"s2\">&quot;Profile details updated.&quot;</span><span class=\"p\">,</span>\n    <span class=\"n\">fail_silently</span><span class=\"o\">=</span><span class=\"kc\">True</span><span class=\"p\">,</span>\n<span class=\"p\">)</span>\n<span class=\"n\">messages</span><span class=\"o\">.</span><span class=\"n\">info</span><span class=\"p\">(</span><span class=\"n\">request</span><span class=\"p\">,</span> <span class=\"s2\">&quot;Hello world.&quot;</span><span class=\"p\">,</span> <span class=\"n\">fail_silently</span><span class=\"o\">=</span><span class=\"kc\">True</span><span class=\"p\">)</span>\n</code></pre></div>\n<aside class=\"admonition admonition-note\" role=\"note\">\n<p class=\"admonition-title\">Note</p>\n<p>Ní folaíonn socrú <code class=\"docutils literal notranslate\"><span class=\"pre\">fail_silently=True</span></code> ach an MessageFailure` a tharlódh ar shlí eile nuair a dhíchumasaíonn creat na teachtaireachtaí agus déanann duine iarracht ceann de theaghlach modhanna <code class=\"docutils literal notranslate\"><span class=\"pre\">add_message</span></code> a úsáid. Ní cheilíonn sé teipeanna a d'fhéadfadh tarlú ar chúiseanna eile.</p>\n</aside>\n</section>\n<section id=\"adding-messages-in-class-based-views\">\n<h3>Teachtaireachtaí a chur leis i radhairc rang-bhunaithe<a class=\"heading-anchor\" href=\"#adding-messages-in-class-based-views\"><span class=\"visually-hidden\">Link to this heading</span><span aria-hidden=\"true\">#</span></a></h3>\n<dl class=\"py class\">\n<dt class=\"sig sig-object py\" id=\"django.contrib.messages.views.SuccessMessageMixin\">\n<em class=\"property\"><span class=\"k\"><span class=\"pre\">class</span></span><span class=\"w\"> </span></em><span class=\"sig-prename descclassname\"><span class=\"pre\">views.</span></span><span class=\"sig-name descname\"><span class=\"pre\">SuccessMessageMixin</span></span><a class=\"heading-anchor\" href=\"#django.contrib.messages.views.SuccessMessageMixin\"><span class=\"visually-hidden\">Link to this definition</span><span aria-hidden=\"true\">#</span></a></dt>\n<dd><p>Cuireann tréith teachtaireachta rathúlachta leis a:class: ~django.views.generic.edit.formView ranganna bunaithe</p>\n<dl class=\"py method\">\n<dt class=\"sig sig-object py\" id=\"django.contrib.messages.views.SuccessMessageMixin.get_success_message\">\n<span class=\"sig-name descname\"><span class=\"pre\">get_success_message</span></span><span class=\"sig-paren\">(</span><em class=\"sig-param\"><span class=\"n\"><span class=\"pre\">cleaned_data</span></span></em><span class=\"sig-paren\">)</span><a class=\"heading-anchor\" href=\"#django.contrib.messages.views.SuccessMessageMixin.get_success_message\"><span class=\"visually-hidden\">Link to this definition</span><span aria-hidden=\"true\">#</span></a></dt>\n<dd><p>Is é <a href=\"#id1\"><span class=\"problematic\" id=\"id2\">``</span></a>cleaned_data <a href=\"#id3\"><span class=\"problematic\" id=\"id4\">``</span></a>na sonraí glanta ón bhfoirm a úsáidtear le haghaidh formáidiú teaghrán</p>\n</dd></dl>\n\n</dd></dl>\n\n<p><strong>Amharcanna sampla.py</strong>:</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.contrib.messages.views</span><span class=\"w\"> </span><span class=\"kn\">import</span> <span class=\"n\">SuccessMessageMixin</span>\n<span class=\"kn\">from</span><span class=\"w\"> </span><span class=\"nn\">django.views.generic.edit</span><span class=\"w\"> </span><span class=\"kn\">import</span> <span class=\"n\">CreateView</span>\n<span class=\"kn\">from</span><span class=\"w\"> </span><span class=\"nn\">myapp.models</span><span class=\"w\"> </span><span class=\"kn\">import</span> <span class=\"n\">Author</span>\n\n\n<span class=\"k\">class</span><span class=\"w\"> </span><span class=\"nc\">AuthorCreateView</span><span class=\"p\">(</span><span class=\"n\">SuccessMessageMixin</span><span class=\"p\">,</span> <span class=\"n\">CreateView</span><span class=\"p\">):</span>\n    <span class=\"n\">model</span> <span class=\"o\">=</span> <span class=\"n\">Author</span>\n    <span class=\"n\">success_url</span> <span class=\"o\">=</span> <span class=\"s2\">&quot;/success/&quot;</span>\n    <span class=\"n\">success_message</span> <span class=\"o\">=</span> <span class=\"s2\">&quot;</span><span class=\"si\">%(name)s</span><span class=\"s2\"> was created successfully&quot;</span>\n</code></pre></div>\n<p>Tá na sonraí glanta ón <code class=\"docutils literal notranslate\"><span class=\"pre\">foirm</span> <span class=\"pre\">``ar</span> <span class=\"pre\">fáil</span> <span class=\"pre\">le</span> <span class=\"pre\">haghaidh</span> <span class=\"pre\">idirphóireacht</span> <span class=\"pre\">sreangán</span> <span class=\"pre\">ag</span> <span class=\"pre\">baint</span> <span class=\"pre\">úsáide</span> <span class=\"pre\">as</span> <span class=\"pre\">an</span> <span class=\"pre\">gcomhréir</span> <span class=\"pre\">``%</span> <span class=\"pre\">(field_name)</span> <span class=\"pre\">s</span></code>. Maidir le ModelForms, má theastaíonn rochtain uait ar réimsí ón <code class=\"docutils literal notranslate\"><span class=\"pre\">object</span></code> shábháilte, athraigh an modh:meth: ~django.contrib.messages.views.successMessageMixin.get_success_message.</p>\n<p><strong>Sampla views.py le haghaidh ModelForms</strong>:</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.contrib.messages.views</span><span class=\"w\"> </span><span class=\"kn\">import</span> <span class=\"n\">SuccessMessageMixin</span>\n<span class=\"kn\">from</span><span class=\"w\"> </span><span class=\"nn\">django.views.generic.edit</span><span class=\"w\"> </span><span class=\"kn\">import</span> <span class=\"n\">CreateView</span>\n<span class=\"kn\">from</span><span class=\"w\"> </span><span class=\"nn\">myapp.models</span><span class=\"w\"> </span><span class=\"kn\">import</span> <span class=\"n\">ComplicatedModel</span>\n\n\n<span class=\"k\">class</span><span class=\"w\"> </span><span class=\"nc\">ComplicatedCreateView</span><span class=\"p\">(</span><span class=\"n\">SuccessMessageMixin</span><span class=\"p\">,</span> <span class=\"n\">CreateView</span><span class=\"p\">):</span>\n    <span class=\"n\">model</span> <span class=\"o\">=</span> <span class=\"n\">ComplicatedModel</span>\n    <span class=\"n\">success_url</span> <span class=\"o\">=</span> <span class=\"s2\">&quot;/success/&quot;</span>\n    <span class=\"n\">success_message</span> <span class=\"o\">=</span> <span class=\"s2\">&quot;</span><span class=\"si\">%(calculated_field)s</span><span class=\"s2\"> was created successfully&quot;</span>\n\n    <span class=\"k\">def</span><span class=\"w\"> </span><span class=\"nf\">get_success_message</span><span class=\"p\">(</span><span class=\"bp\">self</span><span class=\"p\">,</span> <span class=\"n\">cleaned_data</span><span class=\"p\">):</span>\n        <span class=\"k\">return</span> <span class=\"bp\">self</span><span class=\"o\">.</span><span class=\"n\">success_message</span> <span class=\"o\">%</span> <span class=\"nb\">dict</span><span class=\"p\">(</span>\n            <span class=\"n\">cleaned_data</span><span class=\"p\">,</span>\n            <span class=\"n\">calculated_field</span><span class=\"o\">=</span><span class=\"bp\">self</span><span class=\"o\">.</span><span class=\"n\">object</span><span class=\"o\">.</span><span class=\"n\">calculated_field</span><span class=\"p\">,</span>\n        <span class=\"p\">)</span>\n</code></pre></div>\n</section>\n</section>\n<section id=\"expiration-of-messages\">\n<h2>Teachtaireachtaí in éag<a class=\"heading-anchor\" href=\"#expiration-of-messages\"><span class=\"visually-hidden\">Link to this heading</span><span aria-hidden=\"true\">#</span></a></h2>\n<p>Tá na teachtaireachtaí marcáilte le glanadh nuair a dhéantar an cás stórála a athrá (agus a ghlanadh nuair a dhéantar an freagra a phróiseáil).</p>\n<p>Chun na teachtaireachtaí a sheachaint a ghlanadh, is féidir leat stóráil na dteachtaireachtaí a shocrú go False` tar éis iad a athrú:</p>\n<div class=\"code-block\" data-language=\"default\"><div class=\"code-block-toolbar\"><span class=\"code-block-language\">Code</span><button type=\"button\" class=\"copy-button\" data-copy hidden><span class=\"copy-button-label\">Copy</span></button></div><pre role=\"group\" tabindex=\"0\" aria-label=\"Code code\"><code><span class=\"n\">storage</span> <span class=\"o\">=</span> <span class=\"n\">messages</span><span class=\"o\">.</span><span class=\"n\">get_messages</span><span class=\"p\">(</span><span class=\"n\">request</span><span class=\"p\">)</span>\n<span class=\"k\">for</span> <span class=\"n\">message</span> <span class=\"ow\">in</span> <span class=\"n\">storage</span><span class=\"p\">:</span>\n    <span class=\"n\">do_something_with</span><span class=\"p\">(</span><span class=\"n\">message</span><span class=\"p\">)</span>\n<span class=\"n\">storage</span><span class=\"o\">.</span><span class=\"n\">used</span> <span class=\"o\">=</span> <span class=\"kc\">False</span>\n</code></pre></div>\n</section>\n<section id=\"behavior-of-parallel-requests\">\n<h2>Iompar iarrataí comhthreomhara<a class=\"heading-anchor\" href=\"#behavior-of-parallel-requests\"><span class=\"visually-hidden\">Link to this heading</span><span aria-hidden=\"true\">#</span></a></h2>\n<p>Mar gheall ar an mbealach a oibríonn fianáin (agus dá bhrí sin seisiúin), <strong>ní shainmhínítear iompar aon chúltaca a úsáideann fianáin nó seisiúin nuair a dhéanann an cliant céanna iolracha iarrataí a leagann nó a fhaigheann teachtaireachtaí comhthreomhaol</strong>. Mar shampla, má thionscnaíonn cliant iarratas a chruthaíonn teachtaireacht i bhfuinneog amháin (nó cluaisín) agus ansin ceann eile a fhaigheann aon teachtaireachtaí neamhliteartha i bhfuinneog eile, sula ndéanann an chéad fhuinneog a atreorú, féadfaidh an teachtaireacht a bheith le feiceáil sa dara fuinneog in ionad an chéad fhuinneog inar féidir a bheith ag súil leis.</p>\n<p>I mbeagán focal, nuair a bhíonn iliarratais chomhuaineach ón gcliant céanna i gceist, ní ráthaítear go seachadfar teachtaireachtaí chuig an bhfuinneog chéanna a chruthaigh iad ná, i gcásanna áirithe, ar chor ar bith. Tabhair faoi deara nach fadhb í seo de ghnáth i bhformhór na bhfeidhmchlár agus go mbeidh sé ina neamhcheist i HTML5, áit a mbeidh a chomhthéacs brabhsála féin ag gach fuinneog/cluaisín.</p>\n</section>\n<section id=\"settings\">\n<h2>Socruithe<a class=\"heading-anchor\" href=\"#settings\"><span class=\"visually-hidden\">Link to this heading</span><span aria-hidden=\"true\">#</span></a></h2>\n<p>Tugann beaga:ref: <a href=\"#id1\"><span class=\"problematic\" id=\"id2\">`</span></a>socruithe &lt;settings-messages&gt;`smacht duit ar iompar teachtaireachta:</p>\n<ul class=\"simple\">\n<li><p><a class=\"reference internal\" href=\"/ga/6.0/ref/settings/#std-setting-MESSAGE_LEVEL\"><code class=\"xref std std-setting docutils literal notranslate\"><span class=\"pre\">MESSAGE_LEVEL</span></code></a></p></li>\n<li><p><a class=\"reference internal\" href=\"/ga/6.0/ref/settings/#std-setting-MESSAGE_STORAGE\"><code class=\"xref std std-setting docutils literal notranslate\"><span class=\"pre\">MESSAGE_STORAGE</span></code></a></p></li>\n<li><p><a class=\"reference internal\" href=\"/ga/6.0/ref/settings/#std-setting-MESSAGE_TAGS\"><code class=\"xref std std-setting docutils literal notranslate\"><span class=\"pre\">MESSAGE_TAGS</span></code></a></p></li>\n</ul>\n<p>Maidir le cúltaca a úsáideann fianáin, tógtar na socruithe don fhianán ó na socruithe fianán seisiúin:</p>\n<ul class=\"simple\">\n<li><p><a class=\"reference internal\" href=\"/ga/6.0/ref/settings/#std-setting-SESSION_COOKIE_DOMAIN\"><code class=\"xref std std-setting docutils literal notranslate\"><span class=\"pre\">SESSION_COOKIE_DOMAIN</span></code></a></p></li>\n<li><p><a class=\"reference internal\" href=\"/ga/6.0/ref/settings/#std-setting-SESSION_COOKIE_SECURE\"><code class=\"xref std std-setting docutils literal notranslate\"><span class=\"pre\">SESSION_COOKIE_SECURE</span></code></a></p></li>\n<li><p><a class=\"reference internal\" href=\"/ga/6.0/ref/settings/#std-setting-SESSION_COOKIE_HTTPONLY\"><code class=\"xref std std-setting docutils literal notranslate\"><span class=\"pre\">SESSION_COOKIE_HTTPONLY</span></code></a></p></li>\n</ul>\n</section>\n<section id=\"testing\">\n<h2>Tástáil<a class=\"heading-anchor\" href=\"#testing\"><span class=\"visually-hidden\">Link to this heading</span><span aria-hidden=\"true\">#</span></a></h2>\n<p>Cuireann an modúl seo modh dearbhaithe tástála saincheaptha ar fáil, chun teachtaireachtaí atá ceangailte le ha:class: ~.httpResponse a thástáil.</p>\n<p>Chun leas a bhaint as an dearbhú seo, cuir <code class=\"docutils literal notranslate\"><span class=\"pre\">MessagestestMixin</span></code> leis an ordlathas ranga:</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.contrib.messages.test</span><span class=\"w\"> </span><span class=\"kn\">import</span> <span class=\"n\">MessagesTestMixin</span>\n<span class=\"kn\">from</span><span class=\"w\"> </span><span class=\"nn\">django.test</span><span class=\"w\"> </span><span class=\"kn\">import</span> <span class=\"n\">TestCase</span>\n\n\n<span class=\"k\">class</span><span class=\"w\"> </span><span class=\"nc\">MsgTestCase</span><span class=\"p\">(</span><span class=\"n\">MessagesTestMixin</span><span class=\"p\">,</span> <span class=\"n\">TestCase</span><span class=\"p\">):</span>\n    <span class=\"k\">pass</span>\n</code></pre></div>\n<p>Ansin, oidhreacht ón MsgTestCase` i do thástálacha.</p>\n<dl class=\"py method\" id=\"module-django.contrib.messages.test\">\n<dt class=\"sig sig-object py\" id=\"django.contrib.messages.test.MessagesTestMixin.assertMessages\">\n<span class=\"sig-prename descclassname\"><span class=\"pre\">MessagesTestMixin.</span></span><span class=\"sig-name descname\"><span class=\"pre\">assertMessages</span></span><span class=\"sig-paren\">(</span><em class=\"sig-param\"><span class=\"n\"><span class=\"pre\">response</span></span></em>, <em class=\"sig-param\"><span class=\"n\"><span class=\"pre\">expected_messages</span></span></em>, <em class=\"sig-param\"><span class=\"n\"><span class=\"pre\">ordered</span></span><span class=\"o\"><span class=\"pre\">=</span></span><span class=\"default_value\"><span class=\"pre\">True</span></span></em><span class=\"sig-paren\">)</span><a class=\"heading-anchor\" href=\"#django.contrib.messages.test.MessagesTestMixin.assertMessages\"><span class=\"visually-hidden\">Link to this definition</span><span aria-hidden=\"true\">#</span></a></dt>\n<dd><p>&lt;django.http.HttpResponse&gt;Deilíonn sé gur:mod: ~django.contrib.messages a chuirtear leis an: class: <a href=\"#id1\"><span class=\"problematic\" id=\"id2\">`</span></a>response <a href=\"#id3\"><span class=\"problematic\" id=\"id4\">`</span></a>a mheaitseálann <a href=\"#id5\"><span class=\"problematic\" id=\"id6\">``</span></a>teachtaireachtaí a bhí ag súil leis <a href=\"#id7\"><span class=\"problematic\" id=\"id8\">`</span></a>teachtaireachtaí a bhí ag súil leis.</p>\n<p>Is é <code class=\"docutils literal notranslate\"><span class=\"pre\">expected_messages</span></code> liosta de:class: ~django.contrib.messages.message rudaí.</p>\n<p>De réir réamhshocraithe, tá an comparáid ag brath ar ordú. Is féidir leat é seo a dhíchumasú tríd an argóint <code class=\"docutils literal notranslate\"><span class=\"pre\">ordaithe</span> <span class=\"pre\">``a</span> <span class=\"pre\">shocrú</span> <span class=\"pre\">go</span> <span class=\"pre\">``False</span></code>.</p>\n</dd></dl>\n\n</section>","rootId":"module-django.contrib.messages","toc":[{"title":"Teachtaireachtaí a chum","anchor":"enabling-messages","children":[]},{"title":"An t-inneall teachtaireachta a chumrú","anchor":"configuring-the-message-engine","children":[{"title":"Cúltaca stórála","anchor":"storage-backends","children":[]},{"title":"Leibhéil teachtaire","anchor":"message-levels","children":[]},{"title":"Clibeanna teachtaireachta","anchor":"message-tags","children":[]}]},{"title":"Ag baint úsáide as teachtaireachtaí i radhairc","anchor":"using-messages-in-views-and-templates","children":[{"title":"Teachtaireacht a chur leis","anchor":"adding-a-message","children":[]},{"title":"Teachtaireachtaí a th","anchor":"displaying-messages","children":[]},{"title":"An rang ``Teachtaireacht ``","anchor":"the-message-class","children":[]},{"title":"Leibhéil teachtaireachta saincheaptha","anchor":"creating-custom-message-levels","children":[]},{"title":"An leibhéal íosta taifeadta in aghaidh an iarratais","anchor":"changing-the-minimum-recorded-level-per-request","children":[]},{"title":"Clibeanna teachtaireachta breise","anchor":"adding-extra-message-tags","children":[]},{"title":"Teipeann sé go ciúin nuair a dhéantar creat na teachtaireachta a","anchor":"failing-silently-when-the-message-framework-is-disabled","children":[]},{"title":"Teachtaireachtaí a chur leis i radhairc rang-bhunaithe","anchor":"adding-messages-in-class-based-views","children":[]}]},{"title":"Teachtaireachtaí in éag","anchor":"expiration-of-messages","children":[]},{"title":"Iompar iarrataí comhthreomhara","anchor":"behavior-of-parallel-requests","children":[]},{"title":"Socruithe","anchor":"settings","children":[]},{"title":"Tástáil","anchor":"testing","children":[]}],"breadcrumbs":[{"docname":"ref/index","title":"Tagairt API","url":"/ga/6.0/ref/"},{"docname":"ref/contrib/index","title":"Pacáistí contrib","url":"/ga/6.0/ref/contrib/"}],"prev":{"docname":"ref/contrib/humanize","title":"django.contrib.humanize","url":"/ga/6.0/ref/contrib/humanize/"},"next":{"docname":"ref/contrib/postgres/index","title":"django.contrib.postgres","url":"/ga/6.0/ref/contrib/postgres/"},"formats":{"html":"/ga/6.0/ref/contrib/messages/","markdown":"/ga/6.0/ref/contrib/messages.md","json":"/ga/6.0/ref/contrib/messages.json"},"source":"https://github.com/django/django/blob/stable/6.0.x/docs/ref/contrib/messages.txt","official":"https://docs.djangoproject.com/ga/6.0/ref/contrib/messages/","inVersions":["6.1","6.0","5.2"],"inLocales":["en","sv","zh-hans","ga","fr","ja","id","it","pt-br","ko","es","el","pl"]}