{"title":"Conas tuairisciú earráide a bhainisti","version":"6.0","locale":"ga","docname":"howto/error-reporting","url":"/ga/6.0/howto/error-reporting/","canonical":"https://djangodocs.dev/ga/6.0/howto/error-reporting/","summary":"Nuair a bhíonn suíomh poiblí á reáchtáil agat ba chóir duit an socrú: setting: DEBUG a mhúchadh i gcónaí. Cuirfidh sé sin go rithfidh do fhreastalaí i bhfad níos…","html":"<h1>Conas tuairisciú earráide a bhainisti<a class=\"heading-anchor\" href=\"#how-to-manage-error-reporting\"><span class=\"visually-hidden\">Link to this heading</span><span aria-hidden=\"true\">#</span></a></h1>\n<p>Nuair a bhíonn suíomh poiblí á reáchtáil agat ba chóir duit an socrú: setting: DEBUG a mhúchadh i gcónaí. Cuirfidh sé sin go rithfidh do fhreastalaí i bhfad níos gasta, agus cuirfidh sé cosc ar úsáideoirí mailíseacha sonraí d'iarratas a fheiceáil ar féidir leis na leathanaigh earráide a nochtadh.</p>\n<p>Mar sin féin, ciallaíonn rith le:setting: DEBUG socraithe go <code class=\"docutils literal notranslate\"><span class=\"pre\">False</span></code> ní fheicfidh tú earráidí a ghineann do shuíomh riamh - feicfidh gach duine do leathanaigh earráide poiblí ina ionad sin. Ní mór duit súil a choinneáil ar earráidí a tharlaíonn i suíomhanna imscartha, ionas gur féidir Django a chumrú chun tuarascálacha a chruthú le sonraí faoi na hearráidí sin.</p>\n<section id=\"email-reports\">\n<h2>Tuarascálacha ríomh<a class=\"heading-anchor\" href=\"#email-reports\"><span class=\"visually-hidden\">Link to this heading</span><span aria-hidden=\"true\">#</span></a></h2>\n<section id=\"server-errors\">\n<h3>Earráidí freastalaí<a class=\"heading-anchor\" href=\"#server-errors\"><span class=\"visually-hidden\">Link to this heading</span><span aria-hidden=\"true\">#</span></a></h3>\n<p>Nuair: Socrú: <code class=\"docutils literal notranslate\"><span class=\"pre\">False</span></code> ná DEBUG, ríomhphostálfaidh Django na húsáideoirí atá liostaithe sa socrú: Setting: ADMINS aon uair a ardaíonn do chód eisceacht neamh-láimhseáilte agus bíonn earráid inmheánach freastalaí mar thoradh air (go docht, le haghaidh aon fhreagra le cód stádais HTTP 500 nó níos mó). Tugann sé seo fógra láithreach do na riarthóirí faoi aon earráidí. Gheobhaidh an: SETTING: ADMINS cur síos ar an earráid, rianú iomlán Python, agus sonraí faoin iarratas HTTP a bhí ina chúis leis an earráid.</p>\n<aside class=\"admonition admonition-note\" role=\"note\">\n<p class=\"admonition-title\">Note</p>\n<p>Chun ríomhphost a sheoladh, éilíonn Django roinnt socruithe a insíonn dó conas ceangal le do fhreastalaí ríomhphoist. Ar a laghad, beidh ort :socrú: EMAIL_HOST a shonrú agus b'fhéidir : socrú: EMAIL_HOST_USER agus : socrú: EMAIL_HOST_PASSWORD a shonrú, cé go bhféadfadh socruithe eile a bheith ag teastáil freisin ag brath ar chumraíocht do fhreastalaí ríomhphoist. Téigh i gcomhairle le <a class=\"reference internal\" href=\"/ga/6.0/ref/settings/\"><span class=\"doc\">doiciméadú socruithe Django</span></a> le haghaidh liosta iomlán de shocruithe a bhaineann le ríomhphost.</p>\n</aside>\n<p>By default, Django will send email from <code class=\"docutils literal notranslate\"><span class=\"pre\">root&#64;localhost</span></code>. However, some mail\nproviders reject all email from this address. To use a different sender\naddress, modify the <a class=\"reference internal\" href=\"/ga/6.0/ref/settings/#std-setting-SERVER_EMAIL\"><code class=\"xref std std-setting docutils literal notranslate\"><span class=\"pre\">SERVER_EMAIL</span></code></a> setting.</p>\n<p>Chun an t-iompar seo a ghníomhachtú, cuir seoltaí ríomhphoist na bhfaighteoirí sa socrú: socrú: ADMINS.</p>\n<aside class=\"admonition admonition-seealso\">\n<p class=\"admonition-title\">See also</p>\n<p>Seoltar ríomhphoist earráide freastalaí leis an gcreat logála, ionas gur féidir leat an t-iompar seo a shaincheapadh trí :doc: do chumraíocht logála a shaincheapadh &lt;/topics/logáil&gt;.</p>\n</aside>\n</section>\n<section id=\"errors\">\n<h3>404 earráidí<a class=\"heading-anchor\" href=\"#errors\"><span class=\"visually-hidden\">Link to this heading</span><span aria-hidden=\"true\">#</span></a></h3>\n<p>Is féidir Django a chumrú freisin chun earráidí ríomhphoist faoi naisc briste (404 earráidí “nár aimsíodh leathanach”). Seolann Django ríomhphoist faoi earráidí 404 nuair:</p>\n<ul class=\"simple\">\n<li><p><a class=\"reference internal\" href=\"/ga/6.0/ref/settings/#std-setting-DEBUG\"><code class=\"xref std std-setting docutils literal notranslate\"><span class=\"pre\">DEBUG</span></code></a> is <code class=\"docutils literal notranslate\"><span class=\"pre\">False</span></code>;</p></li>\n<li><p>Cuimsíonn do shuíomh: Socrú: MIDDLEWARE: aicme: django.middleware.common.BrokenLinkemailsMiddleware.</p></li>\n</ul>\n<p>Má chomhlíontar na coinníollacha sin, cuirfidh Django ríomhphost chuig na húsáideoirí atá liostaithe sa socrú: SETTING: MANAGERS aon uair a ardaíonn do chód 404 agus tá tagairtí ag an iarraidh. Ní chuireann sé isteach ar ríomhphost a dhéanamh do 404s nach bhfuil tagairteoir acu - de ghnáth is daoine iad sin ag clóscríobh URLanna briste nó róbótaí gréasáin briste. Déanann sé neamhaird freisin ar 404s nuair a bhíonn an tagairteoir cothrom leis an URL iarrtha, ós rud é go dtagann an t-iompar seo ó róbótaí gréasáin briste freisin.</p>\n<aside class=\"admonition admonition-note\" role=\"note\">\n<p class=\"admonition-title\">Note</p>\n<p><a class=\"reference internal\" href=\"/ga/6.0/ref/middleware/#django.middleware.common.BrokenLinkEmailsMiddleware\" title=\"django.middleware.common.BrokenLinkEmailsMiddleware\"><code class=\"xref py py-class docutils literal notranslate\"><span class=\"pre\">BrokenLinkEmailsMiddleware</span></code></a> must appear\nbefore other middleware that intercepts 404 errors, such as\n<a class=\"reference internal\" href=\"/ga/6.0/ref/middleware/#django.middleware.locale.LocaleMiddleware\" title=\"django.middleware.locale.LocaleMiddleware\"><code class=\"xref py py-class docutils literal notranslate\"><span class=\"pre\">LocaleMiddleware</span></code></a> or\n<a class=\"reference internal\" href=\"/ga/6.0/ref/contrib/flatpages/#django.contrib.flatpages.middleware.FlatpageFallbackMiddleware\" title=\"django.contrib.flatpages.middleware.FlatpageFallbackMiddleware\"><code class=\"xref py py-class docutils literal notranslate\"><span class=\"pre\">FlatpageFallbackMiddleware</span></code></a>.\nPut it toward the top of your <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> setting.</p>\n</aside>\n<p>Is féidir leat a rá le Django stop a chur le tuairisciú 404s áirithe tríd an socrú: setting: IGNORABLE_404_URLS a mhodhnú. Ba chóir go mbeadh sé ina liosta de rudaí léirithe rialta tiomsaithe. 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=\"kn\">import</span><span class=\"w\"> </span><span class=\"nn\">re</span>\n\n<span class=\"n\">IGNORABLE_404_URLS</span> <span class=\"o\">=</span> <span class=\"p\">[</span>\n    <span class=\"n\">re</span><span class=\"o\">.</span><span class=\"n\">compile</span><span class=\"p\">(</span><span class=\"sa\">r</span><span class=\"s2\">&quot;\\.(php|cgi)$&quot;</span><span class=\"p\">),</span>\n    <span class=\"n\">re</span><span class=\"o\">.</span><span class=\"n\">compile</span><span class=\"p\">(</span><span class=\"sa\">r</span><span class=\"s2\">&quot;^/phpmyadmin/&quot;</span><span class=\"p\">),</span>\n<span class=\"p\">]</span>\n</code></pre></div>\n<p>Sa sampla seo, tuairiscífear 404 chuig aon URL a chríochnaíonn le <code class=\"docutils literal notranslate\"><span class=\"pre\">.php</span></code> nó <code class=\"docutils literal notranslate\"><span class=\"pre\">.cgi</span></code> <em>ní</em>. Ní bheidh aon URL ag tosú le <code class=\"docutils literal notranslate\"><span class=\"pre\">/phpmyadmin/</span></code>.</p>\n<p>Taispeánann an sampla seo a leanas conas roinnt URLanna traidisiúnta a iarrann brabhsálaithe agus crawlers go minic a eisiamh:</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=\"w\"> </span><span class=\"nn\">re</span>\n\n<span class=\"n\">IGNORABLE_404_URLS</span> <span class=\"o\">=</span> <span class=\"p\">[</span>\n    <span class=\"n\">re</span><span class=\"o\">.</span><span class=\"n\">compile</span><span class=\"p\">(</span><span class=\"sa\">r</span><span class=\"s2\">&quot;^/apple-touch-icon.*\\.png$&quot;</span><span class=\"p\">),</span>\n    <span class=\"n\">re</span><span class=\"o\">.</span><span class=\"n\">compile</span><span class=\"p\">(</span><span class=\"sa\">r</span><span class=\"s2\">&quot;^/favicon\\.ico$&quot;</span><span class=\"p\">),</span>\n    <span class=\"n\">re</span><span class=\"o\">.</span><span class=\"n\">compile</span><span class=\"p\">(</span><span class=\"sa\">r</span><span class=\"s2\">&quot;^/robots\\.txt$&quot;</span><span class=\"p\">),</span>\n<span class=\"p\">]</span>\n</code></pre></div>\n<p>(Tabhair faoi deara gur abairtí rialta iad seo, mar sin cuirimid cúltaca os comhair tréimhsí chun éalú orthu.)</p>\n<p>Más mian leat iompraíocht de:class: django.middleware.common.BrokenLinkemailsMiddleware a shaincheapadh tuilleadh (mar shampla chun neamhaird a dhéanamh d'iarratais a thagann ó crawlers gréasáin), ba cheart duit é a fho-aicmiú agus a mhodhanna a shárú.</p>\n<aside class=\"admonition admonition-seealso\">\n<p class=\"admonition-title\">See also</p>\n<p>Logáiltear earráidí 404 ag baint úsáide as an gcreat logála. De réir réamhshocraithe, déantar neamhaird ar na taifid logála seo, ach is féidir leat iad a úsáid le haghaidh tuairisciú earráide trí láimhseálaí a scríobh agus:doc: <a href=\"#id1\"><span class=\"problematic\" id=\"id2\">`</span></a>log&lt;/topics/logging&gt; áil a chumrú' go cuí.</p>\n</aside>\n</section>\n</section>\n<section id=\"filtering-error-reports\">\n<span id=\"id1\"></span><h2>Tuarascálacha earráide sc<a class=\"heading-anchor\" href=\"#filtering-error-reports\"><span class=\"visually-hidden\">Link to this heading</span><span aria-hidden=\"true\">#</span></a></h2>\n<aside class=\"admonition admonition-warning\" role=\"note\">\n<p class=\"admonition-title\">Warning</p>\n<p>Is fadhb chrua é sonraí íogaire a scagadh, agus tá sé beagnach dodhéanta a chinntiú nach ligfidh sonraí íogaire isteach i dtuairisc earráide. Mar sin, níor cheart go mbeadh tuairiscí earráide ar fáil ach do bhaill foirne iontaofa agus ba cheart duit tuarascálacha earráide gan chriptiú a tharchur thar an idirlíon (mar shampla trí ríomhphost) a sheachaint.</p>\n</aside>\n<section id=\"filtering-sensitive-information\">\n<h3>Eolas íogair a scagadh<a class=\"heading-anchor\" href=\"#filtering-sensitive-information\"><span class=\"visually-hidden\">Link to this heading</span><span aria-hidden=\"true\">#</span></a></h3>\n<p>Tá tuarascálacha earráide an-chabhrach le haghaidh earráidí dífhabhtaithe, mar sin de ghnáth bíonn sé úsáideach an oiread faisnéise ábhartha a thaifeadadh faoi na hearrá &lt;httprequest-attributes&gt;Mar shampla, de réir réamhshocraithe taifeadann Django an <a class=\"reference external\" href=\"https://en.wikipedia.org/wiki/Stack_trace\">taceback iomlán</a> don eisceacht a ardaíodh, athróga áitiúla gach <a class=\"reference external\" href=\"https://en.wikipedia.org/wiki/Stack_frame\">fráma rianaithe</a>, agus an:class: ~django.http.httpRequest's:ref: <a href=\"#id1\"><span class=\"problematic\" id=\"id2\">`</span></a>tréithe <a href=\"#id3\"><span class=\"problematic\" id=\"id4\">`</span></a>.</p>\n<p>Mar sin féin, uaireanta d'fhéadfadh cineálacha áirithe faisnéise a bheith ró-íogair agus mar sin b'fhéidir nach mbeadh sé oiriúnach súil a choinneáil orthu, mar shampla pasfhocal úsáideora nó uimhir chárta creidmheasa. Mar sin, chomh maith le socruithe atá le cosúil go bhfuil siad íogair a scagadh mar a thuairiscítear sa dhoiciméadú: 'DEBUG', cuireann Django sraith maisitheoirí feidhme ar fáil chun cabhrú leat a rialú cén fhaisnéis ba chóir a scagadh as tuarascálacha earráide i dtimpeallacht táirgeachta (is é sin, áit:setting: False) ::func: sensitive_variables agus:func: <a href=\"#id1\"><span class=\"problematic\" id=\"id2\">`</span></a>sensitive_paraiméadair post'.</p>\n<dl class=\"py function\">\n<dt class=\"sig sig-object py\" id=\"django.views.decorators.debug.sensitive_variables\">\n<span class=\"sig-name descname\"><span class=\"pre\">sensitive_variables</span></span><span class=\"sig-paren\">(</span><em class=\"sig-param\"><span class=\"o\"><span class=\"pre\">*</span></span><span class=\"n\"><span class=\"pre\">variables</span></span></em><span class=\"sig-paren\">)</span><a class=\"heading-anchor\" href=\"#django.views.decorators.debug.sensitive_variables\"><span class=\"visually-hidden\">Link to this definition</span><span aria-hidden=\"true\">#</span></a></dt>\n<dd><p>Má úsáideann feidhm (amharc nó aon ghlaoch ar ais rialta) i do chód athróga áitiúla a bhfuil faisnéis íogair ann, féadfaidh tú cosc a chur ar luachanna na n-athróg sin a chur san áireamh i dtuarascálacha earráide ag baint úsáide as an maisitheoir <a href=\"#id1\"><span class=\"problematic\" id=\"id2\">``</span></a>sensitive_variables`:</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.views.decorators.debug</span><span class=\"w\"> </span><span class=\"kn\">import</span> <span class=\"n\">sensitive_variables</span>\n\n\n<span class=\"nd\">@sensitive_variables</span><span class=\"p\">(</span><span class=\"s2\">&quot;user&quot;</span><span class=\"p\">,</span> <span class=\"s2\">&quot;pw&quot;</span><span class=\"p\">,</span> <span class=\"s2\">&quot;cc&quot;</span><span class=\"p\">)</span>\n<span class=\"k\">def</span><span class=\"w\"> </span><span class=\"nf\">process_info</span><span class=\"p\">(</span><span class=\"n\">user</span><span class=\"p\">):</span>\n    <span class=\"n\">pw</span> <span class=\"o\">=</span> <span class=\"n\">user</span><span class=\"o\">.</span><span class=\"n\">pass_word</span>\n    <span class=\"n\">cc</span> <span class=\"o\">=</span> <span class=\"n\">user</span><span class=\"o\">.</span><span class=\"n\">credit_card_number</span>\n    <span class=\"n\">name</span> <span class=\"o\">=</span> <span class=\"n\">user</span><span class=\"o\">.</span><span class=\"n\">name</span>\n    <span class=\"o\">...</span>\n</code></pre></div>\n<p>Sa sampla thuas, cuirfear na luachanna do na hathróga <code class=\"docutils literal notranslate\"><span class=\"pre\">úsáideoir</span> <span class=\"pre\">``,</span> <span class=\"pre\">`pw</span></code> agus cc` i bhfolach agus cuirfear réaltaí (**********`) in ionad sna tuarascálacha earráide, ach nochtfar luach an athróg <code class=\"docutils literal notranslate\"><span class=\"pre\">ainm</span></code>.</p>\n<p>Chun gach athróg áitiúil de fheidhm a cheilt go córasach ó logaí earráide, ná tabhair aon argóint don maisitheoir <a href=\"#id1\"><span class=\"problematic\" id=\"id2\">``</span></a>sensitive_variables`:</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\">@sensitive_variables</span><span class=\"p\">()</span>\n<span class=\"k\">def</span><span class=\"w\"> </span><span class=\"nf\">my_function</span><span class=\"p\">():</span> <span class=\"o\">...</span>\n</code></pre></div>\n<aside class=\"admonition-when-using-multiple-decorators admonition\">\n<p class=\"admonition-title\">Agus maisitheoirí iolracha á úsáid agat</p>\n<p>Más argóint feidhme é an t-athróg a theastaíonn uait a cheilt freisin (m.sh. '<code class=\"docutils literal notranslate\"><span class=\"pre\">úsáideoir</span> <span class=\"pre\">``'</span> <span class=\"pre\">sa</span> <span class=\"pre\">sampla</span> <span class=\"pre\">seo</span> <span class=\"pre\">a</span> <span class=\"pre\">leanas),</span> <span class=\"pre\">agus</span> <span class=\"pre\">má</span> <span class=\"pre\">tá</span> <span class=\"pre\">maisitheoirí</span> <span class=\"pre\">iolracha</span> <span class=\"pre\">ag</span> <span class=\"pre\">an</span> <span class=\"pre\">bhfeidhm</span> <span class=\"pre\">maisithe,</span> <span class=\"pre\">déan</span> <span class=\"pre\">cinnte</span> <span class=\"pre\">go</span> <span class=\"pre\">gcuirfidh</span> <span class=\"pre\">tú</span></code> &#64;sensitive_variables <a href=\"#id1\"><span class=\"problematic\" id=\"id2\">``</span></a>ag barr an slabhra maisiúcháin. Ar an mbealach seo folóidh sé an argóint feidhme freisin de réir mar a chuirtear tríd na maisitheoirí eile:</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\">@sensitive_variables</span><span class=\"p\">(</span><span class=\"s2\">&quot;user&quot;</span><span class=\"p\">,</span> <span class=\"s2\">&quot;pw&quot;</span><span class=\"p\">,</span> <span class=\"s2\">&quot;cc&quot;</span><span class=\"p\">)</span>\n<span class=\"nd\">@some_decorator</span>\n<span class=\"nd\">@another_decorator</span>\n<span class=\"k\">def</span><span class=\"w\"> </span><span class=\"nf\">process_info</span><span class=\"p\">(</span><span class=\"n\">user</span><span class=\"p\">):</span> <span class=\"o\">...</span>\n</code></pre></div>\n</aside>\n</dd></dl>\n\n<dl class=\"py function\">\n<dt class=\"sig sig-object py\" id=\"django.views.decorators.debug.sensitive_post_parameters\">\n<span class=\"sig-name descname\"><span class=\"pre\">sensitive_post_parameters</span></span><span class=\"sig-paren\">(</span><em class=\"sig-param\"><span class=\"o\"><span class=\"pre\">*</span></span><span class=\"n\"><span class=\"pre\">parameters</span></span></em><span class=\"sig-paren\">)</span><a class=\"heading-anchor\" href=\"#django.views.decorators.debug.sensitive_post_parameters\"><span class=\"visually-hidden\">Link to this definition</span><span aria-hidden=\"true\">#</span></a></dt>\n<dd><p>Má fhaigheann duine de &lt;django.http.HttpRequest.POST&gt;do thuairimí réad: :class: ~django.http.http.httpRequest le: attr: Paraiméadair POST `atá so-ghabhálach go mbeidh faisnéis íogair ann, féadfaidh tú cosc a chur ar luachanna na bparaiméadair sin a chur san áireamh sna tuarascálacha earráide ag baint úsáide as an maisitheoir ``sensitive_post_parameters`:</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.views.decorators.debug</span><span class=\"w\"> </span><span class=\"kn\">import</span> <span class=\"n\">sensitive_post_parameters</span>\n\n\n<span class=\"nd\">@sensitive_post_parameters</span><span class=\"p\">(</span><span class=\"s2\">&quot;pass_word&quot;</span><span class=\"p\">,</span> <span class=\"s2\">&quot;credit_card_number&quot;</span><span class=\"p\">)</span>\n<span class=\"k\">def</span><span class=\"w\"> </span><span class=\"nf\">record_user_profile</span><span class=\"p\">(</span><span class=\"n\">request</span><span class=\"p\">):</span>\n    <span class=\"n\">UserProfile</span><span class=\"o\">.</span><span class=\"n\">create</span><span class=\"p\">(</span>\n        <span class=\"n\">user</span><span class=\"o\">=</span><span class=\"n\">request</span><span class=\"o\">.</span><span class=\"n\">user</span><span class=\"p\">,</span>\n        <span class=\"n\">password</span><span class=\"o\">=</span><span class=\"n\">request</span><span class=\"o\">.</span><span class=\"n\">POST</span><span class=\"p\">[</span><span class=\"s2\">&quot;pass_word&quot;</span><span class=\"p\">],</span>\n        <span class=\"n\">credit_card</span><span class=\"o\">=</span><span class=\"n\">request</span><span class=\"o\">.</span><span class=\"n\">POST</span><span class=\"p\">[</span><span class=\"s2\">&quot;credit_card_number&quot;</span><span class=\"p\">],</span>\n        <span class=\"n\">name</span><span class=\"o\">=</span><span class=\"n\">request</span><span class=\"o\">.</span><span class=\"n\">POST</span><span class=\"p\">[</span><span class=\"s2\">&quot;name&quot;</span><span class=\"p\">],</span>\n    <span class=\"p\">)</span>\n    <span class=\"o\">...</span>\n</code></pre></div>\n<p>Sa sampla thuas, cuirfear na luachanna do pharaiméadair POST <code class=\"docutils literal notranslate\"><span class=\"pre\">pass_word</span></code> agus <code class=\"docutils literal notranslate\"><span class=\"pre\">credit_card_number</span></code> i bhfolach agus cuirfear réaltaí (**********`) in ionadaíocht an iarratais taobh istigh de na tuarascálacha earráide, ach nochtfar luach an pharaiméadar <a href=\"#id1\"><span class=\"problematic\" id=\"id2\">``</span></a>ainm <a href=\"#id3\"><span class=\"problematic\" id=\"id4\">``</span></a>.</p>\n<p>Chun gach paraiméadar POST d'iarratas a cheilt go córasach i dtuarascálacha earráide, ná cuir aon argóint ar fáil don maisitheoir <a href=\"#id1\"><span class=\"problematic\" id=\"id2\">``</span></a>sensitive_post_paraméters':</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\">@sensitive_post_parameters</span><span class=\"p\">()</span>\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> <span class=\"o\">...</span>\n</code></pre></div>\n<p>Déantar gach paraiméadar POST a scagadh go córasach as tuarascálacha earráide le go cinnte:mod: tuairimí django.contrib.auth.views (<code class=\"docutils literal notranslate\"><span class=\"pre\">login</span></code>, password_reset_confirm`, password_change`, agus add_view` agus user_change_password` admin auth`) chun faisnéis íogair a chosc mar shampla pasfhocail úsáideora.</p>\n</dd></dl>\n\n</section>\n<section id=\"custom-error-reports\">\n<span id=\"id2\"></span><h3>Tuarascálacha earráide sain<a class=\"heading-anchor\" href=\"#custom-error-reports\"><span class=\"visually-hidden\">Link to this heading</span><span aria-hidden=\"true\">#</span></a></h3>\n<p>All:Func: sensitive_variables agus:func: sensitive_post_parameters is ea anótáil, faoi seach, an fheidhm maisithe le hainmneacha athróg íogair agus an rud HttpRequest ``a anótáil le hainmneacha paraiméadair íogair POST, ionas gur féidir an fhaisnéis íogair seo a scagadh amach as tuarascálacha nuair a tharlaíonn earráid. Déantar an scagadh iarbhír ag scagaire tuairisceora earráide réamhshocraithe Django: :class: `django.views.debug.safeExceptionReporterFilter. Úsáideann an scagaire seo anótaí na mhaisitheoirí chun réaltaí (**********`) a chur in ionad na luachanna comhfhreagracha nuair a tháirgtear na tuarascálacha earráide. Más mian leat an t-iompar réamhshocraithe seo a shárú nó a shaincheapadh do do shuíomh iomlán, ní mór duit do rang scagaire féin a shainiú agus a rá le Django é a úsáid trí:setting: DEFAULT_EXCEPTION_REPORTER_FILTER:</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\">DEFAULT_EXCEPTION_REPORTER_FILTER</span> <span class=\"o\">=</span> <span class=\"s2\">&quot;path.to.your.CustomExceptionReporterFilter&quot;</span>\n</code></pre></div>\n<p>Féadfaidh tú rialú ar bhealach níos gráinneach freisin cén scagaire atá le húsáid laistigh d'aon radharc ar leith trí thréith <code class=\"docutils literal notranslate\"><span class=\"pre\">`exception_reporter_filter</span></code> <code class=\"docutils literal notranslate\"><span class=\"pre\">httpRequest</span></code> a shocrú:</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\">my_view</span><span class=\"p\">(</span><span class=\"n\">request</span><span class=\"p\">):</span>\n    <span class=\"k\">if</span> <span class=\"n\">request</span><span class=\"o\">.</span><span class=\"n\">user</span><span class=\"o\">.</span><span class=\"n\">is_authenticated</span><span class=\"p\">:</span>\n        <span class=\"n\">request</span><span class=\"o\">.</span><span class=\"n\">exception_reporter_filter</span> <span class=\"o\">=</span> <span class=\"n\">CustomExceptionReporterFilter</span><span class=\"p\">()</span>\n    <span class=\"o\">...</span>\n</code></pre></div>\n<p>Caithfidh do rang scagaire saincheaptha oidhreacht ó:class: django.views.debug.safeExceptionReporterFilter agus féadfaidh sé na tréithe agus na modhanna seo a leanas a shárú:</p>\n<dl class=\"py class\">\n<dt class=\"sig sig-object py\" id=\"django.views.debug.SafeExceptionReporterFilter\">\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\">SafeExceptionReporterFilter</span></span><a class=\"heading-anchor\" href=\"#django.views.debug.SafeExceptionReporterFilter\"><span class=\"visually-hidden\">Link to this definition</span><span aria-hidden=\"true\">#</span></a></dt>\n<dd><dl class=\"py attribute\">\n<dt class=\"sig sig-object py\" id=\"django.views.debug.SafeExceptionReporterFilter.cleansed_substitute\">\n<span class=\"sig-name descname\"><span class=\"pre\">cleansed_substitute</span></span><a class=\"heading-anchor\" href=\"#django.views.debug.SafeExceptionReporterFilter.cleansed_substitute\"><span class=\"visually-hidden\">Link to this definition</span><span aria-hidden=\"true\">#</span></a></dt>\n<dd><p>An luach teaghrán le luach íogair a chur in ionad. De réir réamhshocraithe cuireann sé réaltaí in ionad luachanna na n-athróg íogair (**********`).</p>\n</dd></dl>\n\n<dl class=\"py attribute\">\n<dt class=\"sig sig-object py\" id=\"django.views.debug.SafeExceptionReporterFilter.hidden_settings\">\n<span class=\"sig-name descname\"><span class=\"pre\">hidden_settings</span></span><a class=\"heading-anchor\" href=\"#django.views.debug.SafeExceptionReporterFilter.hidden_settings\"><span class=\"visually-hidden\">Link to this definition</span><span aria-hidden=\"true\">#</span></a></dt>\n<dd><p>Réad léirithe rialta tiomsaithe a úsáidtear chun socruithe agus luachanna <code class=\"docutils literal notranslate\"><span class=\"pre\">request.meta</span></code> a mheaitear mar íogair a mheaitseáil. De réir réamhshocraithe atá comhionann le:</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=\"w\"> </span><span class=\"nn\">re</span>\n\n<span class=\"n\">re</span><span class=\"o\">.</span><span class=\"n\">compile</span><span class=\"p\">(</span><span class=\"sa\">r</span><span class=\"s2\">&quot;API|AUTH|TOKEN|KEY|SECRET|PASS|SIGNATURE|HTTP_COOKIE&quot;</span><span class=\"p\">,</span> <span class=\"n\">flags</span><span class=\"o\">=</span><span class=\"n\">re</span><span class=\"o\">.</span><span class=\"n\">IGNORECASE</span><span class=\"p\">)</span>\n</code></pre></div>\n<aside class=\"version-note version-changed\" data-version=\"5.2\">\n<p class=\"version-note-title\">Changed in Django 5.2</p><p>The term <code class=\"docutils literal notranslate\"><span class=\"pre\">AUTH</span></code> was added.</p>\n</aside>\n</dd></dl>\n\n<dl class=\"py method\">\n<dt class=\"sig sig-object py\" id=\"django.views.debug.SafeExceptionReporterFilter.is_active\">\n<span class=\"sig-name descname\"><span class=\"pre\">is_active</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.views.debug.SafeExceptionReporterFilter.is_active\"><span class=\"visually-hidden\">Link to this definition</span><span aria-hidden=\"true\">#</span></a></dt>\n<dd><p>Filleann <code class=\"docutils literal notranslate\"><span class=\"pre\">True</span></code> chun an scagadh a ghníomhachtú in:meth: get_post_paraméters agus:meth: get_traceback_frame_variables. De réir réamhshocraithe tá an scagaire gníomhach má tá: socrú: DEBUG <code class=\"docutils literal notranslate\"><span class=\"pre\">False</span></code>. Tabhair faoi deara go ndéantar luachanna íogaire <code class=\"docutils literal notranslate\"><span class=\"pre\">request.meta</span></code> a scagadh i gcónaí in éineacht le luachanna socraithe íogaire, mar a thuairiscítear sa doiciméadúiséireacht: DEBUG.</p>\n</dd></dl>\n\n<dl class=\"py method\">\n<dt class=\"sig sig-object py\" id=\"django.views.debug.SafeExceptionReporterFilter.get_post_parameters\">\n<span class=\"sig-name descname\"><span class=\"pre\">get_post_parameters</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.views.debug.SafeExceptionReporterFilter.get_post_parameters\"><span class=\"visually-hidden\">Link to this definition</span><span aria-hidden=\"true\">#</span></a></dt>\n<dd><p>Filleann sé an foclóir scagtha de pharaiméadair POST. Cuirtear: attr: cleansed_substitute in ionad luachanna íogair.</p>\n</dd></dl>\n\n<dl class=\"py method\">\n<dt class=\"sig sig-object py\" id=\"django.views.debug.SafeExceptionReporterFilter.get_traceback_frame_variables\">\n<span class=\"sig-name descname\"><span class=\"pre\">get_traceback_frame_variables</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\">tb_frame</span></span></em><span class=\"sig-paren\">)</span><a class=\"heading-anchor\" href=\"#django.views.debug.SafeExceptionReporterFilter.get_traceback_frame_variables\"><span class=\"visually-hidden\">Link to this definition</span><span aria-hidden=\"true\">#</span></a></dt>\n<dd><p>Tugann an foclóir scagtha d'athróg áitiúla ar ais don fhráma rianaithe ar leith. Cuirtear: attr: cleansed_substitute in ionad luachanna íogair.</p>\n</dd></dl>\n\n</dd></dl>\n\n<p>Más gá duit tuarascálacha earráide a shaincheapadh níos faide ná scagadh féadfaidh tú rang tuairisceoir earráide saincheaptha a shonrú trí:setting: DEFAULT_EXCEPTION_REPORTER a shainiú:</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\">DEFAULT_EXCEPTION_REPORTER</span> <span class=\"o\">=</span> <span class=\"s2\">&quot;path.to.your.CustomExceptionReporter&quot;</span>\n</code></pre></div>\n<p>Tá an tuairisceoir eisceachta freagrach as sonraí na tuarascála eisceachta a thiomsú, agus iad a fhormáidiú mar théacs nó HTML go cuí. (Úsáideann an tuairisceoir eisceachta: socrú: DEFAULT_EXCEPTION_REPORTER_FILTER agus sonraí na tuarascála eisceachta á ullmhú.)</p>\n<p>Caithfidh do rang tuairisceora saincheaptha oidhreacht ó:class: django.views.debug.exceptionReporter.</p>\n<dl class=\"py class\">\n<dt class=\"sig sig-object py\" id=\"django.views.debug.ExceptionReporter\">\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\">ExceptionReporter</span></span><a class=\"heading-anchor\" href=\"#django.views.debug.ExceptionReporter\"><span class=\"visually-hidden\">Link to this definition</span><span aria-hidden=\"true\">#</span></a></dt>\n<dd><dl class=\"py attribute\">\n<dt class=\"sig sig-object py\" id=\"django.views.debug.ExceptionReporter.html_template_path\">\n<span class=\"sig-name descname\"><span class=\"pre\">html_template_path</span></span><a class=\"heading-anchor\" href=\"#django.views.debug.ExceptionReporter.html_template_path\"><span class=\"visually-hidden\">Link to this definition</span><span aria-hidden=\"true\">#</span></a></dt>\n<dd><p>Maoin a thugann ar ais a:class: PathLib.path a léiríonn cosán iomlán an chórais chomhaid chuig teimpléad chun léiriú HTML na heisceachta a léiriú. Réamhshocraithe don teimpléad a chuirtear ar fáil Django.</p>\n</dd></dl>\n\n<dl class=\"py attribute\">\n<dt class=\"sig sig-object py\" id=\"django.views.debug.ExceptionReporter.text_template_path\">\n<span class=\"sig-name descname\"><span class=\"pre\">text_template_path</span></span><a class=\"heading-anchor\" href=\"#django.views.debug.ExceptionReporter.text_template_path\"><span class=\"visually-hidden\">Link to this definition</span><span aria-hidden=\"true\">#</span></a></dt>\n<dd><p>Maoin a thugann ar ais a:class: PathLib.path a léiríonn cosán iomlán an chórais chomhaid chuig teimpléad chun léiriú téacs simplí na heisceachta a léiriú. Réamhshocraithe don teimpléad a chuirtear ar fáil Django.</p>\n</dd></dl>\n\n<dl class=\"py method\">\n<dt class=\"sig sig-object py\" id=\"django.views.debug.ExceptionReporter.get_traceback_data\">\n<span class=\"sig-name descname\"><span class=\"pre\">get_traceback_data</span></span><span class=\"sig-paren\">(</span><span class=\"sig-paren\">)</span><a class=\"heading-anchor\" href=\"#django.views.debug.ExceptionReporter.get_traceback_data\"><span class=\"visually-hidden\">Link to this definition</span><span aria-hidden=\"true\">#</span></a></dt>\n<dd><p>Cuir ar ais foclóir ina bhfuil faisnéis rianaithe ar ais.</p>\n<p>Is é seo an príomhphointe síneadh chun tuarascálacha eisceachta a shaincheapadh, 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=\"kn\">from</span><span class=\"w\"> </span><span class=\"nn\">django.views.debug</span><span class=\"w\"> </span><span class=\"kn\">import</span> <span class=\"n\">ExceptionReporter</span>\n\n\n<span class=\"k\">class</span><span class=\"w\"> </span><span class=\"nc\">CustomExceptionReporter</span><span class=\"p\">(</span><span class=\"n\">ExceptionReporter</span><span class=\"p\">):</span>\n    <span class=\"k\">def</span><span class=\"w\"> </span><span class=\"nf\">get_traceback_data</span><span class=\"p\">(</span><span class=\"bp\">self</span><span class=\"p\">):</span>\n        <span class=\"n\">data</span> <span class=\"o\">=</span> <span class=\"nb\">super</span><span class=\"p\">()</span><span class=\"o\">.</span><span class=\"n\">get_traceback_data</span><span class=\"p\">()</span>\n        <span class=\"c1\"># ... remove/add something here ...</span>\n        <span class=\"k\">return</span> <span class=\"n\">data</span>\n</code></pre></div>\n</dd></dl>\n\n<dl class=\"py method\">\n<dt class=\"sig sig-object py\" id=\"django.views.debug.ExceptionReporter.get_traceback_html\">\n<span class=\"sig-name descname\"><span class=\"pre\">get_traceback_html</span></span><span class=\"sig-paren\">(</span><span class=\"sig-paren\">)</span><a class=\"heading-anchor\" href=\"#django.views.debug.ExceptionReporter.get_traceback_html\"><span class=\"visually-hidden\">Link to this definition</span><span aria-hidden=\"true\">#</span></a></dt>\n<dd><p>Tabhair ar ais leagan HTML den tuarascáil eisceachta.</p>\n<p>Úsáidtear le haghaidh leagan HTML de leathanach earráide HTTP debug 500.</p>\n</dd></dl>\n\n<dl class=\"py method\">\n<dt class=\"sig sig-object py\" id=\"django.views.debug.ExceptionReporter.get_traceback_text\">\n<span class=\"sig-name descname\"><span class=\"pre\">get_traceback_text</span></span><span class=\"sig-paren\">(</span><span class=\"sig-paren\">)</span><a class=\"heading-anchor\" href=\"#django.views.debug.ExceptionReporter.get_traceback_text\"><span class=\"visually-hidden\">Link to this definition</span><span aria-hidden=\"true\">#</span></a></dt>\n<dd><p>Tabhair ar ais leagan téacs simplí den tuarascáil eisceachta.</p>\n<p>Úsáidtear le haghaidh leagan téacs simplí de leathanach earráide HTTP debug 500 agus tuarascálacha ríomhphoist.</p>\n</dd></dl>\n\n</dd></dl>\n\n<p>Mar is amhlaidh leis an rang scagaire, féadfaidh tú rialú cén rang tuairisceoir eisceachta atá le húsáid laistigh d'aon radharc ar leith trí thréith <code class=\"docutils literal notranslate\"><span class=\"pre\">`exception_reporter_class</span></code> <code class=\"docutils literal notranslate\"><span class=\"pre\">httpRequest</span></code> a shocrú:</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\">my_view</span><span class=\"p\">(</span><span class=\"n\">request</span><span class=\"p\">):</span>\n    <span class=\"k\">if</span> <span class=\"n\">request</span><span class=\"o\">.</span><span class=\"n\">user</span><span class=\"o\">.</span><span class=\"n\">is_authenticated</span><span class=\"p\">:</span>\n        <span class=\"n\">request</span><span class=\"o\">.</span><span class=\"n\">exception_reporter_class</span> <span class=\"o\">=</span> <span class=\"n\">CustomExceptionReporter</span><span class=\"p\">()</span>\n    <span class=\"o\">...</span>\n</code></pre></div>\n<aside class=\"admonition admonition-seealso\">\n<p class=\"admonition-title\">See also</p>\n<p>&lt;exception-middleware&gt;Is féidir leat tuairisciú earráide saincheaptha a chur ar bun freisin trí phíosa saincheaptha de: ref: middleware eisceachta `a scríobh. Má scríobhann tú láimhseáil earráide saincheaptha, is smaoineamh maith é aithris a dhéanamh ar láimhseáil earráide ionsuite Django agus earráidí a thuairisciú/logáil ach amháin má tá: socrú: ``False` ná DEBUG.</p>\n</aside>\n</section>\n</section>","rootId":"how-to-manage-error-reporting","toc":[{"title":"Tuarascálacha ríomh","anchor":"email-reports","children":[{"title":"Earráidí freastalaí","anchor":"server-errors","children":[]},{"title":"404 earráidí","anchor":"errors","children":[]}]},{"title":"Tuarascálacha earráide sc","anchor":"filtering-error-reports","children":[{"title":"Eolas íogair a scagadh","anchor":"filtering-sensitive-information","children":[]},{"title":"Tuarascálacha earráide sain","anchor":"custom-error-reports","children":[]}]}],"breadcrumbs":[{"docname":"howto/index","title":"Treoracha conas","url":"/ga/6.0/howto/"}],"prev":{"docname":"howto/logging","title":"Conas logáil a chumrú agus a úsáid","url":"/ga/6.0/howto/logging/"},"next":{"docname":"howto/delete-app","title":"Conas feidhmchlár Django a scriosadh","url":"/ga/6.0/howto/delete-app/"},"formats":{"html":"/ga/6.0/howto/error-reporting/","markdown":"/ga/6.0/howto/error-reporting.md","json":"/ga/6.0/howto/error-reporting.json"},"source":"https://github.com/django/django/blob/stable/6.0.x/docs/howto/error-reporting.txt","official":"https://docs.djangoproject.com/ga/6.0/howto/error-reporting/","inVersions":["6.1","6.0","5.2"],"inLocales":["en","sv","zh-hans","ga","fr","ja","id","it","pt-br","ko","es","el","pl"]}