---
title: "Radhairc Tógtha"
version: 6.0
locale: ga
source: https://docs.djangoproject.com/ga/6.0/ref/views/
canonical: https://djangodocs.dev/ga/6.0/ref/views/
---
# Radhairc Tógtha

Déantar roinnt de na tuairimí ionsuite Django a dhoiciméadú in:doc: /topics/http/views chomh maith le háiteanna eile sa doiciméadú.

## Freastal ar chomhaid atá i bhfor

#### `static.serve(request, path, document_root, show_indexes=False)`

D'fhéadfadh go mbeadh comhaid seachas sócmhainní statacha do thionscadail ar mhaith leat, ar mhaithe le háisiúlacht, go bhfreastal Django duit i bhforbairt áitiúil. Is féidir an dearcadh: Func: ~django.views.static.serve a úsáid chun freastal ar aon eolaire a thugann tú dó. (Níl an dearcadh seo \*\* cruaite le húsáid táirgeachta agus níor cheart é a úsáid ach mar chúnamh forbartha; ba cheart duit na comhaid seo a sheirbheáil i dtáirgeadh ag baint úsáide as fíor-fhreastalaí gréasáin tosaigh).

Is é an sampla is dóichí ná ábhar uaslódáilte ón úsáideoir in:setting: MEDIA\_ROOT. Tá `django.contrib.staticfiles` beartaithe le haghaidh sócmhainní statacha agus níl aon láimhseáil ionsuite aige do chomhaid uaslódáilte úsáideora, ach is féidir leat Django freastal ar do thú:setting: MEDIA\_ROOT trí rud éigin mar seo a chur le do URLConf:

```
from django.conf import settings
from django.urls import re_path
from django.views.static import serve

# ... the rest of your URLconf goes here ...

if settings.DEBUG:
    urlpatterns += [
        re_path(
            r"^media/(?P<path>.*)$",
            serve,
            {
                "document_root": settings.MEDIA_ROOT,
            },
        ),
    ]
```

Tabhair faoi deara, glacann an snippet le do: setting: tá luach `'media/'` ag MEDIA\_URL. Glaofar sé seo ar an amharc: :func: ~django.views.static.serve, ag dul sa chosán ón URLConf agus an paraiméadar (riachtanach) `document_root`.

Ós rud é go bhféadfadh sé a bheith beagán deacair an patrún URL seo a shainiú, seolann Django le feidhm chúntóra beag URL: func: ~django.conf.urls.static.static a ghlacann mar pharaiméadair an réimír amhail: setting: MEDIA\_URL agus cosán ponctha chuig radharc, mar shampla django.views.static.serve'. Cuirfear aon pharaiméadar feidhme eile ar aghaidh go trédhearcach chuig an radharc.

## Tuairimí earráide

Tagann Django le cúpla tuairim de réir réamhshocraithe chun earráidí HTTP a láimhseáil. Chun iad seo a shárú le do thuairimí saincheaptha féin, féach:ref: customizing-error-views.

### An radharc 404 (ní aimsíodh an leathanach)

#### `defaults.page_not_found(request, exception, template_name='404.html')`

Nuair a ardaíonn tú: exc: ~django.http.http404 ó laistigh de radharc, luchtaíonn Django dearcadh speisialta atá dírithe ar earráidí 404 a láimhseáil. De réir réamhshocraithe, is é an view:func: django.views.defaults.page\_not\_found, a tháirgeann teachtaireacht “Not Found” nó a luchtaíonn agus a léiríonn an teimpléad `404.html` má chruthaigh tú é i do eolaire teimpléad fréimhe.

Cuirfidh an dearcadh réamhshocraithe 404 dhá athróg chuig an teimpléad: request\_path\`, arb é an URL a raibh an earráid mar thoradh air, agus `exception`, ar léiriú úsáideach é ar an eisceacht a spreag an dearcadh (m.sh. ina bhfuil aon teachtaireacht a chuirtear chuig Http404 ar leith).

Trí rud le tabhairt faoi deara faoi 404 tuairimí:

- Tugtar ar an radharc 404 freisin mura bhfaigheann Django meaitseáil tar éis gach abairt rialta sa URLConf a sheiceáil.
- Tá an radharc 404 ag rith a:class: ~django.template.requestContext agus beidh rochtain aige ar athróga a sholáthraíonn do phróiseálaithe comhthéacs teimpléad (m.sh. MEDIA\_URL\`).
- Má tá: Socrú: “DEBUG” socraithe go `True` (i do mhodúl socruithe), ansin ní úsáidfear do radharc 404 riamh, agus taispeánfar do URLConf ina ionad sin, le roinnt faisnéise dífhabhtaithe.

### An radharc 500 (earráid freastalaí)

#### `defaults.server_error(request, template_name='500.html')`

Ar an gcaoi chéanna, déanann Django iompar cásanna speisialta i gcás earráidí rith sa chód amharc. Má bhíonn eisceacht mar thoradh ar radharc, glaoifidh Django, de réir réamhshocraithe, ar an amharc `django.views.defaults.server_error`, a tháirgeann teachtaireacht “Earráid Freastalaí” nó a luchtaíonn agus a léiríonn an teimpléad `500.html` má chruthaigh tú é i d'eolaire teimpléad fréimhe.

Ní chuireann an dearcadh réamhshocraithe 500 aon athróg chuig an teimpléad `500.html` agus déantar é le Context\` folamh chun an seans go mbeidh earráidí breise a laghdú.

Má tá: Socrú: “DEBUG” socraithe go `True` (i do mhodúl socruithe), ansin ní úsáidfear do radharc 500 riamh, agus taispeánfar an rianaireacht ina ionad sin, le roinnt faisnéise dífhabhtaithe.

### An radharc 403 (HTTP Toirmiscthe)

#### `defaults.permission_denied(request, exception, template_name='403.html')`

Sa chomh céanna leis na tuairimí 404 agus 500, tá dearcadh ag Django 403 earráid Toirmiscthe a láimhseáil. Má bhíonn eisceacht 403 mar thoradh ar radharc ansin glaoifidh Django, de réir réamhshocraithe, ar an radharc `django.views.defaults.permission_denied`.

Luchtaíonn agus tugann an radharc seo an teimpléad `403.html` i do eolaire teimpléad fréimhe, nó mura bhfuil an comhad seo ann, freastalaíonn an téacs “403 Toirmiscthe” ina ionad sin, mar: rfc: 9110 #section -15.5.4 (an Sonraíocht HTTP 1.1). Tá eisceacht' sa chomhthéacs teimpléid, arb é sin an léiriú teaghrán ar an eisceacht a spreag an dearcadh.

Tá eisceacht a spreagtar `django.views.defaults.permission_denied` ag a:exc: ~django.core.exceptions.permissionDenied. Chun rochtain a dhiúltú i radharc is féidir leat cód mar seo a úsáid:

```
from django.core.exceptions import PermissionDenied

def edit(request, pk):
    if not request.user.is_staff:
        raise PermissionDenied
    # ...
```

### An radharc 400 (droch-iarratas)

#### `defaults.bad_request(request, exception, template_name='400.html')`

Similarly, Django has a view to handle 400 Bad Request errors.

This view either produces a "Bad Request" message or loads and renders the
template `400.html` if you created it in your root template directory.
It returns with status code 400 indicating that the error condition was the
result of a client operation. By default, nothing related to the exception that
triggered the view is passed to the template context, as the exception message
might contain sensitive information like filesystem paths.

`django.views.defaults.bad_request` is triggered by a
[`BadRequest`](/ga/6.0/ref/exceptions/#django.core.exceptions.BadRequest) exception. Also, when a
[`SuspiciousOperation`](/ga/6.0/ref/exceptions/#django.core.exceptions.SuspiciousOperation) is raised in Django,
it may be handled by a component of Django (for example resetting the session
data). If not specifically handled, Django will consider the current request a
'bad request' instead of a server error, and handle it with `bad_request`.

Ní úsáidtear tuairimí `bad_request` ach amháin nuair:setting: DEBUG `False`.
