---
title: "An aip athatreoraithe"
version: 6.1
locale: ga
source: https://docs.djangoproject.com/ga/6.1/ref/contrib/redirects/
canonical: https://djangodocs.dev/ga/6.1/ref/contrib/redirects/
---
# An aip athatreoraithe

Tagann Django le feidhmchlár athatreoruithe roghnach. Ligeann sé duit atreoruithe a stóráil i mbunachar sonraí agus láimhseálann sé an t-atreorú duit. Úsáideann sé an cód stádas freagartha HTTP 301 Bogtha go Buan de réir réamhshocraithe.

## Suiteáil

Chun an aip atreoraithe a shuiteáil, lean na céimeanna seo:

1. \<enabling-the-sites-framework\>Déan cinnte go bhfuil an chreat `django.contrib.sites`: ref: suiteáilte .
2. Cuir `django.contrib.redirects'` le do shuíomh: Setting: INSTALLED\_APPS.
3. Cuir django.contrib.redirects.middleware.redirectFallbackmiddleware'\` le do shuíomh: MIDDLEWARE.
4. \<migrate\>Rith an t-ordú: djadmin: manage.py migration .

## Conas a oibríonn sé

Cruthaíonn `manage.py migrate` tábla `django_redirect` i do bhunachar sonraí. Is tábla cuardaigh é seo le réimsí `site_id`, old\_path\` agus `new_path`.

Déanann an: Class: ~django.contrib.redirects.middleware.redirectFallbackMiddleWare an obair go léir. Gach uair a ardaíonn aon fheidhmchlár Django earráid 404, seiceálann an middleware seo an bunachar sonraí atreoraithe don URL iarrtha mar rogha dheiridh. Go sonrach, seiceálann sé athsheoladh leis an old\_path\` a thugtar le ID láithreáin a fhreagraíonn don socrú: setting: SITE\_ID.

- Má aimsíonn sé meaitseáil, agus mura bhfuil `new_path` folamh, atreoraíonn sé chuig `new_path` ag baint úsáide as atreorú 301 (“Bogtha go Buan”). Is féidir leat subclass:class: ~django.contrib.redirects.middleware.redirectFallbackMiddleware agus set:attr: ~django.contrib.redirects.middleware.redirectFallbackmiddleware.response\_redirect\_class to:class: django.http.httpresponseredirect chun 302 Temporada a úsáid Atreorú arily\` ina ionad sin.
- Má aimsíonn sé meaitseáil, agus má tá `new_path` folamh, seolann sé ceannteideal HTTP 410 (“Done”) agus freagra folamh (gan ábhar).
- Mura bhfaigheann sé meaitseáil, leanann an t-iarratas á phróiseáil mar is gnách.

Ní ghníomhaítear an middleware ach ar feadh 404s - ní le haghaidh 500s nó freagraí ar aon chód stádais eile.

Tabhair faoi deara go bhfuil tábhacht ag ordú:setting: MIDDLEWARE. Go ginearálta, is féidir leat: class: ~django.contrib.redirects.middleware.redirectFallbackmiddleware a chur ag deireadh an liosta, toisc gur rogha deireanach é.

Le haghaidh tuilleadh eolais faoi middleware, léigh an:doc: middle\</topics/http/middleware\> ware docs.

## Conas atreoruithe a chur leis, a athrú agus a scriosadh

### Tríd an gcomhéadan riaracháin

Má tá an comhéadan riaracháin Django uathoibríoch curtha i ngníomh agat, ba chóir duit rannán “Atreoracha” a fheiceáil ar an leathanach innéacs riaracháin. Athsheoltóirí in eagar agus tú in eagar aon rud eile sa chóras in eagar.

### Trí API Python

#### `class models.Redirect`

Léirítear athatreoruithe le caighdeán:doc: samhail Django, a chónaíonn in:source: django/contrib/redirects/models.py. \</topics/db/models\> Is féidir leat rochtain a fháil ar rudaí atreoraithe trí:doc: Bunachar sonraí D\</topics/db/queries\> jango API. Mar shampla:

```pycon
>>> from django.conf import settings
>>> from django.contrib.redirects.models import Redirect
>>> # Add a new redirect.
>>> redirect = Redirect.objects.create(
...     site_id=1,
...     old_path="/contact-us/",
...     new_path="/contact/",
... )
>>> # Change a redirect.
>>> redirect.new_path = "/contact-details/"
>>> redirect.save()
>>> redirect
<Redirect: /contact-us/ ---> /contact-details/>
>>> # Delete a redirect.
>>> Redirect.objects.filter(site_id=1, old_path="/contact-us/").delete()
(1, {'redirects.Redirect': 1})
```

## Meán-earraí

#### `class middleware.RedirectFallbackMiddleware`

Is féidir leat na ranganna: :class: ~django.http.httpResponse a úsáideann an middleware a athrú trí fho-aicme de:class: ~django.contrib.redirects.middleware.redirectfallbackmiddleware a chruthú agus response\_gone\_class\` agus/nó `response_redirect_class`.

#### `response_gone_class`

An rang:class: ~django.http.httpResponse a úsáidtear nuair nach bhfaightear a:class: ~django.contrib.redirects.models.redirect don chosán iarrtha nó go bhfuil luach `new_path` bán aige.

Réamhshocraithe chuig: aicme: ~django.http.httpResponseGone.

#### `response_redirect_class`

An rang:class: ~django.http.httpResponse a láimhseálann an t-atreorú.

Réamhshocraithe chuig: aicme: ~django.http.httpResponsePermanentDirect.
