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

Tagann Django le feidhmchlár roghnach “flatpages”. Ligeann sé duit ábhar HTML “comhréidh” a stóráil i mbunachar sonraí agus láimhseálann sé an bhainistíocht duit trí chomhéadan riaracháin Django agus API Python.

Is réad é leathanach cothrom le URL, teideal agus ábhar. Úsáid é le haghaidh leathanaigh aonuaire, cásanna speisialta, mar shampla leathanaigh “Maidir” nó “Beartas Príobháideachta”, ar mhaith leat a stóráil i mbunachar sonraí ach nach dteastaíonn uait feidhmchlár saincheaptha Django a fhorbairt dóibh.

Is féidir le leathanach cothrom teimpléad saincheaptha nó teimpléad réamhshocraithe ar fud an chórais a úsáid. Is féidir leis a bheith bainteach le suíomh amháin, nó iolracha.

Féadfar an réimse ábhair a fhágáil bán go roghnach más fearr leat d'ábhar a chur i dteimpléad saincheaptha.

## Suiteáil

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

1. Suiteáil an creat:mod: sites \`trí \`\`\<django.contrib.sites\>django.contrib.sites' a chur le do shuíomh: INSTALLED\_APPS, mura bhfuil sé ann cheana féin.

   Also make sure you've correctly set [`SITE_ID`](/ga/6.0/ref/settings/#std-setting-SITE_ID) to the ID of the
   site the settings file represents. This will usually be `1` (i.e.
   `SITE_ID = 1`), but if you're using the sites framework to manage
   multiple sites, it could be the ID of a different site.
2. Cuir django.contrib.flatpages'\` le do shocrú: INSTALLED\_APPS.

Ansin ceachtar:

3. Cuir iontráil isteach i do URLConf. Mar shampla:

   ```
   urlpatterns = [
       path("pages/", include("django.contrib.flatpages.urls")),
   ]
   ```

nó:

3. Cuir django.contrib.flatpages.middleware.flatpageFallbackmiddleware'\` 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` dhá thábla i do bhunachar sonraí: `django_flatpage` agus `django_flatpage_sites`. Is tábla cuardaigh é `django_flatpage` a mhéapálann URL chuig teideal agus dornán ábhar téacs. Comhcheanglaíonn `django_flatpage_sites` leathanach cothrom le suíomh.

### Ag baint úsáide as an URLConf

There are several ways to include the flatpages in your URLconf. You can
dedicate a particular path to flatpages:

```
urlpatterns = [
    path("pages/", include("django.contrib.flatpages.urls")),
]
```

Is féidir leat é a chur ar bun mar phatrún “catchall” freisin. Sa chás seo, tá sé tábhachtach an patrún a chur ag deireadh na urlpattern eile:

```
from django.contrib.flatpages import views

# Your other patterns here
urlpatterns += [
    re_path(r"^(?P<url>.*/)$", views.flatpage),
]
```

> **Warning**
>
> Má shocraíonn tú: socrú: APPEND\_SLASH go `False`, ní mór duit an slash sa phatrún catchall a bhaint nó ní bheidh leathanaigh chomhréireáilte gan slasc rianaithe a mheaitseáil.

Another common setup is to use flatpages for a limited set of known pages and
to hardcode their URLs in the [URLconf](/ga/6.0/topics/http/urls/):

```
from django.contrib.flatpages import views

urlpatterns += [
    path("about-us/", views.flatpage, kwargs={"url": "/about-us/"}, name="about"),
    path("license/", views.flatpage, kwargs={"url": "/license/"}, name="license"),
]
```

The `kwargs` argument sets the `url` value used for the `FlatPage` model
lookup in the flatpage view.

The `name` argument allows the URL to be reversed in templates, for example
using the [`url`](/ga/6.0/ref/templates/builtins/#std-templatetag-url) template tag.

### Ag baint úsáide as an middleware

Is féidir leis an:class: ~django.contrib.flatpages.middleware.flatpageFallbackmiddleware an obair go léir a dhéanamh.

#### `class FlatpageFallbackMiddleware`

Gach uair a ardaíonn aon fheidhmchlár Django earráid 404, seiceálann an middleware seo bunachar sonraí na flatpages don URL iarrtha mar rogha dheiridh. Go sonrach, seiceálann sé leathanach comhréidh leis an URL tugtha le ID láithreáin a fhreagraíonn don socrú: setting: SITE\_ID.

Má aimsíonn sé meaitseáil, leanann sé an algartam seo:

- Má tá teimpléad saincheaptha ag an flatpage, luchtaíonn sé an teimpléad sin. Seachas sin, luchtaíonn sé an teimpléad:file: flatpages/default.html.
- Cuireann sé athróg comhthéacs aonair ar an teimpléad sin, flatpage\`, arb é an réad leathanaigh réidh. Úsáideann sé: aicme: ~django.template.requestContext chun an teimpléad a rindreáil.

Ní chuirfidh an middleware slasc agus atreorú (trí fhéachaint ar an socrú: “APPEND\_SLASH\`”) má thagraíonn an URL mar thoradh air do leathanach comhréidh bailí. Tá athreoruithe buan (cód stádais 301).

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.

> **Ní bheidh feidhm ag flatpages view middleware**
>
> \<view-middleware\>Toisc nach gcuirtear an flatpageFallbackmiddleware\` i bhfeidhm ach amháin tar éis teip ar réiteach URL agus 404 a tháirgeadh, ní bheidh feidhm ag an bhfreagra a thugann sé ar ais aon modhanna: ref: view middleware . Ní bhaineann ach iarratais a atreoraítear go rathúil chuig radharc trí ghnáthréiteach URL.

Tabhair faoi deara go bhfuil tábhacht ag ordú:setting: MIDDLEWARE. Go ginearálta, is féidir leat: class: ~django.contrib.flatpages.middleware.flatpageFallBackMiddleware a chur ag deireadh an liosta. Ciallaíonn sé seo go rithfidh sé ar dtús agus an freagra á bpróiseáil, agus cinntíonn sé go bhfeiceann aon mheánearraí próiseála freagartha eile an fíor-fhreagairt leathanaigh réidh seachas an 404.

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

> **Cinntigh go n-oibríonn do theimpléad 404**
>
> Note that the
> [`FlatpageFallbackMiddleware`](#django.contrib.flatpages.middleware.FlatpageFallbackMiddleware)
> only steps in once another view has successfully produced a 404 response.
> If another view or middleware class attempts to produce a 404 but ends up
> raising an exception instead, the response will become an HTTP 500
> ("Internal Server Error") and the
> [`FlatpageFallbackMiddleware`](#django.contrib.flatpages.middleware.FlatpageFallbackMiddleware)
> will not attempt to serve a flatpage.

## Conas leathanaigh réidh a chur leis, a athrú agus a scriosadh

> **Warning**
>
> Ba cheart ceadanna chun leathanaigh réidh a chur leis nó a chur in eagar srian d'úsáideoirí iontaofa. Sainmhínítear leathanaigh réidh le HTML amh agus ní dhéantar iad a shláintiú\*\* ag Django. Mar thoradh air sin, d'fhéadfadh leochaileachtaí slándála éagsúla a bheith mar thoradh ar leathanach cothrom mailíseach, lena n-áirítear méadú

### 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 “Flatpages” a fheiceáil ar an leathanach innéacs riaracháin. Cuir leathanaigh cothrom in eagar agus tú in eagar aon rud eile sa chóras.

Tá réimse `enable_comments` sa tsamhail `flatpage` nach n-úsáideann contrib.flatpages\`, ach d'fhéadfadh sé sin a bheith úsáideach do do thionscadal nó d'aipeanna tríú páirtí. Níl sé le feiceáil sa chomhéadan riaracháin, ach is féidir leat é a chur leis trí “ModelAdmin” saincheaptha a chlárú le haghaidh `flatpage`:

```
from django.contrib import admin
from django.contrib.flatpages.admin import FlatPageAdmin
from django.contrib.flatpages.models import FlatPage
from django.utils.translation import gettext_lazy as _

# Define a new FlatPageAdmin
class FlatPageAdmin(FlatPageAdmin):
    fieldsets = [
        (None, {"fields": ["url", "title", "content", "sites"]}),
        (
            _("Advanced options"),
            {
                "classes": ["collapse"],
                "fields": [
                    "enable_comments",
                    "registration_required",
                    "template_name",
                ],
            },
        ),
    ]

# Re-register FlatPageAdmin
admin.site.unregister(FlatPage)
admin.site.register(FlatPage, FlatPageAdmin)
```

### Trí API Python

Flatpages are represented by a standard
[Django model](/ga/6.0/topics/db/models/), [`FlatPage`](#django.contrib.flatpages.models.FlatPage). You can access
flatpage objects via the [Django database API](/ga/6.0/topics/db/queries/).

> **Seiceáil le haghaidh URLanna leathanaigh dhúblacha.**
>
> Má chuireann tú leathanaigh réidh leis nó má mhodhníonn tú trí do chód féin, is dócha go mbeidh tú ag iarraidh seiceáil le haghaidh URLanna leathanaigh dhúbailte laistigh den suíomh céanna. Déanann an fhoirm flatpage a úsáidtear sa riarachán an seiceáil bailíochtaithe seo, agus is féidir í a allmhairiú ó `django.contrib.flatpages.forms.flatpageform` agus a úsáid i do thuairimí féin.

## `FlatPage` model

#### `class models.FlatPage`

### Réimsí

[`FlatPage`](#django.contrib.flatpages.models.FlatPage) objects have the following
fields:

#### `class models.FlatPage`

#### `url`

Required. 100 characters or fewer. Indexed for faster lookups.

#### `title`

Required. 200 characters or fewer.

#### `content`

Optional ([`blank=True`](/ga/6.0/ref/models/fields/#django.db.models.Field.blank)).
[`TextField`](/ga/6.0/ref/models/fields/#django.db.models.TextField) that typically, contains the HTML
content of the page.

#### `enable_comments`

Boolean. This field is not used by [`flatpages`](#module-django.contrib.flatpages) by
default and does not appear in the admin interface. Please see
[flatpages admin interface section](#flatpages-admin) for a
detailed explanation.

#### `template_name`

Optional ([`blank=True`](/ga/6.0/ref/models/fields/#django.db.models.Field.blank)). 70
characters or fewer. Specifies the template used to render the page.
Defaults to `flatpages/default.html` if not provided.

#### `sites`

Many-to-many relationship to
[`Site`](/ga/6.0/ref/contrib/sites/#django.contrib.sites.models.Site), which determines the
[sites](/ga/6.0/ref/contrib/sites/) the flatpage is available on.

### Modhanna

#### `class models.FlatPage`

#### `get_absolute_url()`

Returns the relative URL path of the page based on the
[`url`](#django.contrib.flatpages.models.FlatPage.url) attribute.

## Teimpléid Flatpage

By default, flatpages are rendered via the template
`flatpages/default.html`, but you can override that for a particular
flatpage: in the admin, a collapsed fieldset titled "Advanced options"
(clicking will expand it) contains a field for specifying a template name. If
you're creating a flatpage via the Python API you can set the template name as
the field `template_name` on the `FlatPage` object.

Tá freagracht ort an teimpléad:file: flatpages/default.html a chruthú; i d'eolaire teimpléad, cruthaigh eolaire a:file: flatpages ina bhfuil comhad:file: default.html.

Cuirtear athróg comhthéacs amháin ar theimpléid flatpage, flatpage\`, arb é an réad flatpage.

Seo sampla: comhad: teimpléad flatpages/default.html:

```html+django
<!DOCTYPE html>
<html lang="en">
<head>
<title>{{ flatpage.title }}</title>
</head>
<body>
{{ flatpage.content }}
</body>
</html>
```

\<automatic-html-escaping\>Ós rud é go bhfuil HTML amh á iontráil agat cheana féin sa leathanach riaracháin le haghaidh leathanach cothrom, marcáiltear `flatpage.title` agus flatpage.content\` araon mar **not** ag iarraidh:ref: uathoibríoch HTML éalú sa teimpléad.

## Ag fáil liosta de:class: ~django.contrib.flatpages.models.flatpage rudaí i do theimpléid

\<hooking-into-current-site-from-views\>Soláthraíonn an aip flatpages clib teimpléad a ligeann duit athrá a dhéanamh thar na leathanaigh cothroma go léir atá ar fáil ar:ref: láithreán reatha .

Cosúil le gach clib teimpléad saincheaptha, beidh ort: ref: a leabharlann clibeanna saincheaptha a luchtú sula bhfé \<loading-custom-template-libraries\>adfaidh tú é a úsáid. Tar éis duit an leabharlann a luchtú, is féidir leat gach leathanach cothrom reatha a aisghabháil tríd an gclibe:ttag: \`get\_flatpages:

```html+django
{% load flatpages %}
{% get_flatpages as flatpages %}
<ul>
    {% for page in flatpages %}
        <li><a href="{{ page.url }}">{{ page.title }}</a></li>
    {% endfor %}
</ul>
```

### Ag taispeáint leathanaigh árasán `clárúcháin_riachtana`

De réir réamhshocraithe, ní thaispeánfaidh an clib teimpléad:ttag: get\_flatpages ach leathanaigh chomhpháirteanna atá marcáilte `registration_required = False`. Más mian leat leathanaigh árasaithe atá cosanta ó chlárú a thaispeáint, ní mór duit úsáideoir fíordheimhnithe a shonrú ag baint úsáide as clásal for\`.

Mar shampla:

```html+django
{% get_flatpages for someuser as about_pages %}
```

Má sholáthraíonn tú úsáideoir gan ainm, iompróidh :ttag: get\_flatpages mar an gcéanna is dá mbeadh úsáideoir curtha ar fáil agat - ie, ní thaispeánfaidh sé ach leathanaigh árasán poiblí duit.

### Leathanaigh réidh a theorannú de réir URL bonn

Is féidir argóint roghnach, starts\_with, a chur i bhfeidhm chun na leathanaigh a chuirtear ar ais a theorannú dóibh siúd a thosaíonn le URL bonn áirithe. Féadfar an argóint seo a rith mar shreang, nó mar athróg le réiteach ón gcomhthéacs.

Mar shampla:

```html+django
{% get_flatpages '/about/' as about_pages %}
{% get_flatpages about_prefix as about_pages %}
{% get_flatpages '/about/' for someuser as about_pages %}
```

## Comhtháthú le:mod: django.contrib.sitemaps

#### `class FlatPageSitemap`

\<django.contrib.sites\>Breathnaíonn an rang:class: SiteMaps.flatPageSitemap \<django.contrib.flatpages.sitemaps.FlatPageSitemap\>\`ar gach ceann atá le feiceáil go poibl:mod: \`~django.contrib.flatpages atá sainmhínithe don reath:setting: SITE\_ID (féach an doiciméadú: mod: sites) agus cruthaíonn sé iontráil sa léarscáil. Ní áirítear ar na hiontrálacha seo ach an tréith: attr: ~django.contrib.sitemaps.sitemap.location -- not:attr: ~django.contrib.sitemaps.sitemap.lastmod, :attr: ~django.contrib.sitemaps.sitemap.changeFreq nó:attr: ~django.contrib.sitemaps.sitemap.changeFreq .contrib.sitemaps.sitemap.priority\`.

### Sampla

Seo sampla de URLConf ag baint úsáid:class: FlatPageSitemap:

```
from django.contrib.flatpages.sitemaps import FlatPageSitemap
from django.contrib.sitemaps.views import sitemap
from django.urls import path

urlpatterns = [
    # ...
    # the sitemap
    path(
        "sitemap.xml",
        sitemap,
        {"sitemaps": {"flatpages": FlatPageSitemap}},
        name="django.contrib.sitemaps.views.sitemap",
    ),
]
```
