{"title":"Sracfhéachaint ar Django","version":"6.0","locale":"ga","docname":"intro/overview","url":"/ga/6.0/intro/overview/","canonical":"https://djangodocs.dev/ga/6.0/intro/overview/","summary":"Toisc gur forbraíodh Django i dtimpeallacht seomra nuachta luas tapa, ceapadh é chun tascanna forbartha gréasáin coitianta a dhéanamh go tapa agus éasca. Seo…","html":"<h1>Sracfhéachaint ar Django<a class=\"heading-anchor\" href=\"#django-at-a-glance\"><span class=\"visually-hidden\">Link to this heading</span><span aria-hidden=\"true\">#</span></a></h1>\n<p>Toisc gur forbraíodh Django i dtimpeallacht seomra nuachta luas tapa, ceapadh é chun tascanna forbartha gréasáin coitianta a dhéanamh go tapa agus éasca. Seo forbhreathnú neamhfhoirmiúil ar conas aip gréasáin bunaithe ar bhunachar sonraí a scríobh le Django.</p>\n<p>Is é sprioc an doiciméid seo go leor sonraí teicniúla a thabhairt duit chun tuiscint a fháil ar an gcaoi a n-oibríonn Django, ach níl sé i gceist gur teagasc nó tagairt a bheadh ​​​​ann -- ach tá an dá cheann againn! Nuair atá tú réidh le tionscadal a thosú, is féidir leat <a class=\"reference internal\" href=\"/ga/6.0/intro/tutorial01/\"><span class=\"doc\">tosú leis an rang teagaisc</span></a> nó :doc: tumadh díreach isteach i gcáipéisíocht níos mionsonraithe &lt;/topics/index&gt;.</p>\n<section id=\"design-your-model\">\n<h2>Dear do mhúnla<a class=\"heading-anchor\" href=\"#design-your-model\"><span class=\"visually-hidden\">Link to this heading</span><span aria-hidden=\"true\">#</span></a></h2>\n<p>Cé gur féidir leat Django a úsáid gan bunachar sonraí, tagann sé le <a class=\"reference external\" href=\"https://en.wikipedia.org/wiki/Object-relational_mapping\">object-relational mapper</a> ina ndéanann tú cur síos ar leagan amach do bhunachar sonraí i gcód Python.</p>\n<p>The <a class=\"reference internal\" href=\"/ga/6.0/topics/db/models/\"><span class=\"doc\">data-model syntax</span></a> offers many rich ways of\nrepresenting your models -- so far, it's been solving many years' worth of\ndatabase-schema problems. Here's a quick example:</p>\n<figure class=\"code-block code-block-captioned\" data-language=\"python\"><figcaption class=\"code-block-caption\"><code class=\"docutils literal notranslate\"><span class=\"pre\">news/models.py</span></code></figcaption>\n<div class=\"code-block-toolbar\"><span class=\"code-block-language\">Python</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=\"Python code\"><code><span class=\"kn\">from</span><span class=\"w\"> </span><span class=\"nn\">django.db</span><span class=\"w\"> </span><span class=\"kn\">import</span> <span class=\"n\">models</span>\n\n\n<span class=\"k\">class</span><span class=\"w\"> </span><span class=\"nc\">Reporter</span><span class=\"p\">(</span><span class=\"n\">models</span><span class=\"o\">.</span><span class=\"n\">Model</span><span class=\"p\">):</span>\n    <span class=\"n\">full_name</span> <span class=\"o\">=</span> <span class=\"n\">models</span><span class=\"o\">.</span><span class=\"n\">CharField</span><span class=\"p\">(</span><span class=\"n\">max_length</span><span class=\"o\">=</span><span class=\"mi\">70</span><span class=\"p\">)</span>\n\n    <span class=\"k\">def</span><span class=\"w\"> </span><span class=\"fm\">__str__</span><span class=\"p\">(</span><span class=\"bp\">self</span><span class=\"p\">):</span>\n        <span class=\"k\">return</span> <span class=\"bp\">self</span><span class=\"o\">.</span><span class=\"n\">full_name</span>\n\n\n<span class=\"k\">class</span><span class=\"w\"> </span><span class=\"nc\">Article</span><span class=\"p\">(</span><span class=\"n\">models</span><span class=\"o\">.</span><span class=\"n\">Model</span><span class=\"p\">):</span>\n    <span class=\"n\">pub_date</span> <span class=\"o\">=</span> <span class=\"n\">models</span><span class=\"o\">.</span><span class=\"n\">DateField</span><span class=\"p\">()</span>\n    <span class=\"n\">headline</span> <span class=\"o\">=</span> <span class=\"n\">models</span><span class=\"o\">.</span><span class=\"n\">CharField</span><span class=\"p\">(</span><span class=\"n\">max_length</span><span class=\"o\">=</span><span class=\"mi\">200</span><span class=\"p\">)</span>\n    <span class=\"n\">content</span> <span class=\"o\">=</span> <span class=\"n\">models</span><span class=\"o\">.</span><span class=\"n\">TextField</span><span class=\"p\">()</span>\n    <span class=\"n\">reporter</span> <span class=\"o\">=</span> <span class=\"n\">models</span><span class=\"o\">.</span><span class=\"n\">ForeignKey</span><span class=\"p\">(</span><span class=\"n\">Reporter</span><span class=\"p\">,</span> <span class=\"n\">on_delete</span><span class=\"o\">=</span><span class=\"n\">models</span><span class=\"o\">.</span><span class=\"n\">CASCADE</span><span class=\"p\">)</span>\n\n    <span class=\"k\">def</span><span class=\"w\"> </span><span class=\"fm\">__str__</span><span class=\"p\">(</span><span class=\"bp\">self</span><span class=\"p\">):</span>\n        <span class=\"k\">return</span> <span class=\"bp\">self</span><span class=\"o\">.</span><span class=\"n\">headline</span>\n</code></pre></figure>\n</section>\n<section id=\"install-it\">\n<h2>Suiteáil é<a class=\"heading-anchor\" href=\"#install-it\"><span class=\"visually-hidden\">Link to this heading</span><span aria-hidden=\"true\">#</span></a></h2>\n<p>Ansin, reáchtáil na fóntais ordú-líne Django a chruthú ar na táblaí bunachar sonraí go huathoibríoch:</p>\n<div class=\"console\" data-console><div class=\"console-panel\" data-platform=\"unix\"><p class=\"console-label\" id=\"console-0-unix-label\">Linux / macOS</p><div class=\"code-block\" data-language=\"console\"><div class=\"code-block-toolbar\"><span class=\"code-block-language\">Shell</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=\"Shell code\"><code><span class=\"gp\">$ </span>python<span class=\"w\"> </span>manage.py<span class=\"w\"> </span>makemigrations\n<span class=\"gp\">$ </span>python<span class=\"w\"> </span>manage.py<span class=\"w\"> </span>migrate\n</code></pre></div>\n</div><div class=\"console-panel\" data-platform=\"windows\"><p class=\"console-label\" id=\"console-0-windows-label\">Windows</p><div class=\"code-block\" data-language=\"doscon\"><div class=\"code-block-toolbar\"><span class=\"code-block-language\">Windows</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=\"Windows shell\"><code><span class=\"gp\">...\\&gt;</span> py manage.py makemigrations\n<span class=\"gp\">...\\&gt;</span> py manage.py migrate\n</code></pre></div></div></div>\n<p>Breathnaíonn an t-ordú :d jadmin: makemigrations ar do chuid samhlacha go léir atá ar fáil agus cruthaíonn sé imirce do cibé táblaí nach bhfuil ann cheana féin. :d JADMIN: Ritheann 'imirce' na himirce agus cruthaíonn sé táblaí i do bhunachar sonraí, chomh maith le :d OC: <a href=\"#id1\"><span class=\"problematic\" id=\"id2\">`</span></a>Rialú scéimre i bhfad níos saibhre &lt;/topics/migrations&gt;Migrations a sholáthar go roghnach <a href=\"#id3\"><span class=\"problematic\" id=\"id4\">`</span></a>.</p>\n</section>\n<section id=\"enjoy-the-free-api\">\n<h2>Bain sult as an API saor in aisce<a class=\"heading-anchor\" href=\"#enjoy-the-free-api\"><span class=\"visually-hidden\">Link to this heading</span><span aria-hidden=\"true\">#</span></a></h2>\n<p>Leis sin, tá tú saor in aisce, agus saibhir, :d oc:Python API &lt;/topics/db/queries&gt; chun rochtain a fháil ar do shonraí. Cruthaítear an API ar an eitilt, gan aon ghiniúint cód riachtanach:</p>\n<div class=\"code-block\" data-language=\"pycon\"><div class=\"code-block-toolbar\"><span class=\"code-block-language\">Python console</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=\"Python console code\"><code><span class=\"go\"># Import the models we created from our &quot;news&quot; app</span>\n<span class=\"gp\">&gt;&gt;&gt; </span><span class=\"kn\">from</span><span class=\"w\"> </span><span class=\"nn\">news.models</span><span class=\"w\"> </span><span class=\"kn\">import</span> <span class=\"n\">Article</span><span class=\"p\">,</span> <span class=\"n\">Reporter</span>\n\n<span class=\"go\"># No reporters are in the system yet.</span>\n<span class=\"gp\">&gt;&gt;&gt; </span><span class=\"n\">Reporter</span><span class=\"o\">.</span><span class=\"n\">objects</span><span class=\"o\">.</span><span class=\"n\">all</span><span class=\"p\">()</span>\n<span class=\"go\">&lt;QuerySet []&gt;</span>\n\n<span class=\"go\"># Create a new Reporter.</span>\n<span class=\"gp\">&gt;&gt;&gt; </span><span class=\"n\">r</span> <span class=\"o\">=</span> <span class=\"n\">Reporter</span><span class=\"p\">(</span><span class=\"n\">full_name</span><span class=\"o\">=</span><span class=\"s2\">&quot;John Smith&quot;</span><span class=\"p\">)</span>\n\n<span class=\"go\"># Save the object into the database. You have to call save() explicitly.</span>\n<span class=\"gp\">&gt;&gt;&gt; </span><span class=\"n\">r</span><span class=\"o\">.</span><span class=\"n\">save</span><span class=\"p\">()</span>\n\n<span class=\"go\"># Now it has an ID.</span>\n<span class=\"gp\">&gt;&gt;&gt; </span><span class=\"n\">r</span><span class=\"o\">.</span><span class=\"n\">id</span>\n<span class=\"go\">1</span>\n\n<span class=\"go\"># Now the new reporter is in the database.</span>\n<span class=\"gp\">&gt;&gt;&gt; </span><span class=\"n\">Reporter</span><span class=\"o\">.</span><span class=\"n\">objects</span><span class=\"o\">.</span><span class=\"n\">all</span><span class=\"p\">()</span>\n<span class=\"go\">&lt;QuerySet [&lt;Reporter: John Smith&gt;]&gt;</span>\n\n<span class=\"go\"># Fields are represented as attributes on the Python object.</span>\n<span class=\"gp\">&gt;&gt;&gt; </span><span class=\"n\">r</span><span class=\"o\">.</span><span class=\"n\">full_name</span>\n<span class=\"go\">&#39;John Smith&#39;</span>\n\n<span class=\"go\"># Django provides a rich database lookup API.</span>\n<span class=\"gp\">&gt;&gt;&gt; </span><span class=\"n\">Reporter</span><span class=\"o\">.</span><span class=\"n\">objects</span><span class=\"o\">.</span><span class=\"n\">get</span><span class=\"p\">(</span><span class=\"nb\">id</span><span class=\"o\">=</span><span class=\"mi\">1</span><span class=\"p\">)</span>\n<span class=\"go\">&lt;Reporter: John Smith&gt;</span>\n<span class=\"gp\">&gt;&gt;&gt; </span><span class=\"n\">Reporter</span><span class=\"o\">.</span><span class=\"n\">objects</span><span class=\"o\">.</span><span class=\"n\">get</span><span class=\"p\">(</span><span class=\"n\">full_name__startswith</span><span class=\"o\">=</span><span class=\"s2\">&quot;John&quot;</span><span class=\"p\">)</span>\n<span class=\"go\">&lt;Reporter: John Smith&gt;</span>\n<span class=\"gp\">&gt;&gt;&gt; </span><span class=\"n\">Reporter</span><span class=\"o\">.</span><span class=\"n\">objects</span><span class=\"o\">.</span><span class=\"n\">get</span><span class=\"p\">(</span><span class=\"n\">full_name__contains</span><span class=\"o\">=</span><span class=\"s2\">&quot;mith&quot;</span><span class=\"p\">)</span>\n<span class=\"go\">&lt;Reporter: John Smith&gt;</span>\n<span class=\"gp\">&gt;&gt;&gt; </span><span class=\"n\">Reporter</span><span class=\"o\">.</span><span class=\"n\">objects</span><span class=\"o\">.</span><span class=\"n\">get</span><span class=\"p\">(</span><span class=\"nb\">id</span><span class=\"o\">=</span><span class=\"mi\">2</span><span class=\"p\">)</span>\n<span class=\"gt\">Traceback (most recent call last):</span>\n<span class=\"w\">    </span><span class=\"o\">...</span>\n<span class=\"gr\">DoesNotExist</span>: <span class=\"n\">Reporter matching query does not exist.</span>\n\n<span class=\"x\"># Create an article.</span>\n<span class=\"gp\">&gt;&gt;&gt; </span><span class=\"kn\">from</span><span class=\"w\"> </span><span class=\"nn\">datetime</span><span class=\"w\"> </span><span class=\"kn\">import</span> <span class=\"n\">date</span>\n<span class=\"gp\">&gt;&gt;&gt; </span><span class=\"n\">a</span> <span class=\"o\">=</span> <span class=\"n\">Article</span><span class=\"p\">(</span>\n<span class=\"gp\">... </span>    <span class=\"n\">pub_date</span><span class=\"o\">=</span><span class=\"n\">date</span><span class=\"o\">.</span><span class=\"n\">today</span><span class=\"p\">(),</span> <span class=\"n\">headline</span><span class=\"o\">=</span><span class=\"s2\">&quot;Django is cool&quot;</span><span class=\"p\">,</span> <span class=\"n\">content</span><span class=\"o\">=</span><span class=\"s2\">&quot;Yeah.&quot;</span><span class=\"p\">,</span> <span class=\"n\">reporter</span><span class=\"o\">=</span><span class=\"n\">r</span>\n<span class=\"gp\">... </span><span class=\"p\">)</span>\n<span class=\"gp\">&gt;&gt;&gt; </span><span class=\"n\">a</span><span class=\"o\">.</span><span class=\"n\">save</span><span class=\"p\">()</span>\n\n<span class=\"go\"># Now the article is in the database.</span>\n<span class=\"gp\">&gt;&gt;&gt; </span><span class=\"n\">Article</span><span class=\"o\">.</span><span class=\"n\">objects</span><span class=\"o\">.</span><span class=\"n\">all</span><span class=\"p\">()</span>\n<span class=\"go\">&lt;QuerySet [&lt;Article: Django is cool&gt;]&gt;</span>\n\n<span class=\"go\"># Article objects get API access to related Reporter objects.</span>\n<span class=\"gp\">&gt;&gt;&gt; </span><span class=\"n\">r</span> <span class=\"o\">=</span> <span class=\"n\">a</span><span class=\"o\">.</span><span class=\"n\">reporter</span>\n<span class=\"gp\">&gt;&gt;&gt; </span><span class=\"n\">r</span><span class=\"o\">.</span><span class=\"n\">full_name</span>\n<span class=\"go\">&#39;John Smith&#39;</span>\n\n<span class=\"go\"># And vice versa: Reporter objects get API access to Article objects.</span>\n<span class=\"gp\">&gt;&gt;&gt; </span><span class=\"n\">r</span><span class=\"o\">.</span><span class=\"n\">article_set</span><span class=\"o\">.</span><span class=\"n\">all</span><span class=\"p\">()</span>\n<span class=\"go\">&lt;QuerySet [&lt;Article: Django is cool&gt;]&gt;</span>\n\n<span class=\"go\"># The API follows relationships as far as you need, performing efficient</span>\n<span class=\"go\"># JOINs for you behind the scenes.</span>\n<span class=\"go\"># This finds all articles by a reporter whose name starts with &quot;John&quot;.</span>\n<span class=\"gp\">&gt;&gt;&gt; </span><span class=\"n\">Article</span><span class=\"o\">.</span><span class=\"n\">objects</span><span class=\"o\">.</span><span class=\"n\">filter</span><span class=\"p\">(</span><span class=\"n\">reporter__full_name__startswith</span><span class=\"o\">=</span><span class=\"s2\">&quot;John&quot;</span><span class=\"p\">)</span>\n<span class=\"go\">&lt;QuerySet [&lt;Article: Django is cool&gt;]&gt;</span>\n\n<span class=\"go\"># Change an object by altering its attributes and calling save().</span>\n<span class=\"gp\">&gt;&gt;&gt; </span><span class=\"n\">r</span><span class=\"o\">.</span><span class=\"n\">full_name</span> <span class=\"o\">=</span> <span class=\"s2\">&quot;Billy Goat&quot;</span>\n<span class=\"gp\">&gt;&gt;&gt; </span><span class=\"n\">r</span><span class=\"o\">.</span><span class=\"n\">save</span><span class=\"p\">()</span>\n\n<span class=\"go\"># Delete an object with delete().</span>\n<span class=\"gp\">&gt;&gt;&gt; </span><span class=\"n\">r</span><span class=\"o\">.</span><span class=\"n\">delete</span><span class=\"p\">()</span>\n</code></pre></div>\n</section>\n<section id=\"a-dynamic-admin-interface-it-s-not-just-scaffolding-it-s-the-whole-house\">\n<h2>Comhéadan dinimiciúil riaracháin: níl sé ach scafall - is é an teach ar fad é<a class=\"heading-anchor\" href=\"#a-dynamic-admin-interface-it-s-not-just-scaffolding-it-s-the-whole-house\"><span class=\"visually-hidden\">Link to this heading</span><span aria-hidden=\"true\">#</span></a></h2>\n<p>Nuair a shainmhínítear do mhúnlaí, is féidir le Django a chruthú go huathoibríoch gairmiúil, táirgeadh réidh :d oc: comhéadan riaracháin &lt;/ref/contrib/admin/index&gt; - suíomh gréasáin a ligeann d'úsáideoirí fíordheimhnithe rudaí a chur leis, a athrú agus a scriosadh. Is é an t-aon chéim atá ag teastáil ná do mhúnla a chlárú ar an suíomh riaracháin:</p>\n<figure class=\"code-block code-block-captioned\" data-language=\"python\"><figcaption class=\"code-block-caption\"><code class=\"docutils literal notranslate\"><span class=\"pre\">news/models.py</span></code></figcaption>\n<div class=\"code-block-toolbar\"><span class=\"code-block-language\">Python</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=\"Python code\"><code><span class=\"kn\">from</span><span class=\"w\"> </span><span class=\"nn\">django.db</span><span class=\"w\"> </span><span class=\"kn\">import</span> <span class=\"n\">models</span>\n\n\n<span class=\"k\">class</span><span class=\"w\"> </span><span class=\"nc\">Article</span><span class=\"p\">(</span><span class=\"n\">models</span><span class=\"o\">.</span><span class=\"n\">Model</span><span class=\"p\">):</span>\n    <span class=\"n\">pub_date</span> <span class=\"o\">=</span> <span class=\"n\">models</span><span class=\"o\">.</span><span class=\"n\">DateField</span><span class=\"p\">()</span>\n    <span class=\"n\">headline</span> <span class=\"o\">=</span> <span class=\"n\">models</span><span class=\"o\">.</span><span class=\"n\">CharField</span><span class=\"p\">(</span><span class=\"n\">max_length</span><span class=\"o\">=</span><span class=\"mi\">200</span><span class=\"p\">)</span>\n    <span class=\"n\">content</span> <span class=\"o\">=</span> <span class=\"n\">models</span><span class=\"o\">.</span><span class=\"n\">TextField</span><span class=\"p\">()</span>\n    <span class=\"n\">reporter</span> <span class=\"o\">=</span> <span class=\"n\">models</span><span class=\"o\">.</span><span class=\"n\">ForeignKey</span><span class=\"p\">(</span><span class=\"n\">Reporter</span><span class=\"p\">,</span> <span class=\"n\">on_delete</span><span class=\"o\">=</span><span class=\"n\">models</span><span class=\"o\">.</span><span class=\"n\">CASCADE</span><span class=\"p\">)</span>\n</code></pre></figure>\n<figure class=\"code-block code-block-captioned\" data-language=\"python\"><figcaption class=\"code-block-caption\"><code class=\"docutils literal notranslate\"><span class=\"pre\">news/admin.py</span></code></figcaption>\n<div class=\"code-block-toolbar\"><span class=\"code-block-language\">Python</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=\"Python 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\">admin</span>\n\n<span class=\"kn\">from</span><span class=\"w\"> </span><span class=\"nn\">.</span><span class=\"w\"> </span><span class=\"kn\">import</span> <span class=\"n\">models</span>\n\n<span class=\"n\">admin</span><span class=\"o\">.</span><span class=\"n\">site</span><span class=\"o\">.</span><span class=\"n\">register</span><span class=\"p\">(</span><span class=\"n\">models</span><span class=\"o\">.</span><span class=\"n\">Article</span><span class=\"p\">)</span>\n</code></pre></figure>\n<p>Is é an fhealsúnacht anseo go bhfuil do shuíomh curtha in eagar ag foireann, nó cliant, nó b'fhéidir díreach tú - agus níl tú ag iarraidh déileáil le comhéadain inneall a chruthú ach amháin chun ábhar a bhainistiú.</p>\n<p>Sreabhadh oibre tipiciúil amháin chun apps Django a chruthú ná samhlacha a chruthú agus na suíomhanna riaracháin a chur ar bun chomh tapa agus is féidir, ionas gur féidir le d'fhoireann (nó do chliaint) tús a chur le sonraí daonra. Ansin, forbairt a dhéanamh ar an mbealach a chuirtear sonraí i láthair an phobail.</p>\n</section>\n<section id=\"design-your-urls\">\n<h2>Dear do URLanna<a class=\"heading-anchor\" href=\"#design-your-urls\"><span class=\"visually-hidden\">Link to this heading</span><span aria-hidden=\"true\">#</span></a></h2>\n<p>Is mionsonra tábhachtach é scéim URL glan galánta i bhfeidhmchlár gréasáin ardchaighdeáin. Spreagann Django dearadh URL álainn agus ní chuireann sé aon chrústa in URLanna, cosúil le <code class=\"docutils literal notranslate\"><span class=\"pre\">.php</span></code> nó <code class=\"docutils literal notranslate\"><span class=\"pre\">.asp</span></code>.</p>\n<p>Chun URLanna a dhearadh le haghaidh aip, cruthaíonn tú modúl Python ar a dtugtar <a class=\"reference internal\" href=\"/ga/6.0/topics/http/urls/\"><span class=\"doc\">URLconf</span></a>. Clár ábhar do d’aip, tá mapáil ann idir patrúin URL agus feidhmeanna aisghlaoite Python. Freastalaíonn URLconfs freisin chun URLanna a dhíchúpláil ó chód Python.</p>\n<p>Seo an chuma a bheadh ​​ar URLconf don sampla <code class=\"docutils literal notranslate\"><span class=\"pre\">Tuairisceoir</span></code>/<code class=\"docutils literal notranslate\"><span class=\"pre\">Airteagal</span></code> thuas:</p>\n<figure class=\"code-block code-block-captioned\" data-language=\"python\"><figcaption class=\"code-block-caption\"><code class=\"docutils literal notranslate\"><span class=\"pre\">news/urls.py</span></code></figcaption>\n<div class=\"code-block-toolbar\"><span class=\"code-block-language\">Python</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=\"Python code\"><code><span class=\"kn\">from</span><span class=\"w\"> </span><span class=\"nn\">django.urls</span><span class=\"w\"> </span><span class=\"kn\">import</span> <span class=\"n\">path</span>\n\n<span class=\"kn\">from</span><span class=\"w\"> </span><span class=\"nn\">.</span><span class=\"w\"> </span><span class=\"kn\">import</span> <span class=\"n\">views</span>\n\n<span class=\"n\">urlpatterns</span> <span class=\"o\">=</span> <span class=\"p\">[</span>\n    <span class=\"n\">path</span><span class=\"p\">(</span><span class=\"s2\">&quot;articles/&lt;int:year&gt;/&quot;</span><span class=\"p\">,</span> <span class=\"n\">views</span><span class=\"o\">.</span><span class=\"n\">year_archive</span><span class=\"p\">),</span>\n    <span class=\"n\">path</span><span class=\"p\">(</span><span class=\"s2\">&quot;articles/&lt;int:year&gt;/&lt;int:month&gt;/&quot;</span><span class=\"p\">,</span> <span class=\"n\">views</span><span class=\"o\">.</span><span class=\"n\">month_archive</span><span class=\"p\">),</span>\n    <span class=\"n\">path</span><span class=\"p\">(</span><span class=\"s2\">&quot;articles/&lt;int:year&gt;/&lt;int:month&gt;/&lt;int:pk&gt;/&quot;</span><span class=\"p\">,</span> <span class=\"n\">views</span><span class=\"o\">.</span><span class=\"n\">article_detail</span><span class=\"p\">),</span>\n<span class=\"p\">]</span>\n</code></pre></figure>\n<p>Léarscáilíonn an cód thuas cosáin URL chuig feidhmeanna aisghlao Python (&quot;amhairc&quot;). Úsáideann teaghráin na gcosán clibeanna paraiméadar chun luachanna a &quot;ghabháil&quot; ó na URLanna. Nuair a iarrann úsáideoir leathanach, ritheann Django trí gach cosán, in ord, agus stopann sé ag an gcéad cheann a mheaitseálann an URL iarrtha. (Mura n-oireann aon cheann acu, glaonn Django radharc cás speisialta 404.) Tá sé seo blazingly tapa, toisc go bhfuil na cosáin le chéile i nathanna rialta ag am ualach.</p>\n<p>Nuair a mheaitseálann ceann de na patrúin URL, glaonn Django ar an radharc a thugtar, arb é feidhm Python é. Rachaidh gach radharc ar aghaidh réad iarratais -- ina bhfuil meiteashonraí iarratais -- agus na luachanna a gabhadh sa phatrún.</p>\n<p>Mar shampla, dá n-iarrfadh úsáideoir an URL &quot;/articles/2005/05/39323/&quot;, thabharfadh Django an fheidhm <code class=\"docutils literal notranslate\"><span class=\"pre\">news.views.article_detail(iarratas,</span> <span class=\"pre\">year=2005,</span> <span class=\"pre\">month=5,</span> <span class=\"pre\">pk=39323)</span></code>.</p>\n</section>\n<section id=\"write-your-views\">\n<h2>Scríobh do thuairimí<a class=\"heading-anchor\" href=\"#write-your-views\"><span class=\"visually-hidden\">Link to this heading</span><span aria-hidden=\"true\">#</span></a></h2>\n<p>Tá gach amharc freagrach as ceann amháin de dhá rud a dhéanamh: Ag filleadh ar rud <code class=\"xref py py-class docutils literal notranslate\"><span class=\"pre\">Http404</span></code>. Fútsa atá an chuid eile.</p>\n<p>Go ginearálta, aisghabhann radharc sonraí de réir na bparaiméadar, lódálann sé teimpléad agus cuireann sé an teimpléad leis na sonraí a aisghabháil. Seo radharc samplach do <code class=\"docutils literal notranslate\"><span class=\"pre\">year_archive</span></code> thuas:</p>\n<figure class=\"code-block code-block-captioned\" data-language=\"python\"><figcaption class=\"code-block-caption\"><code class=\"docutils literal notranslate\"><span class=\"pre\">news/views.py</span></code></figcaption>\n<div class=\"code-block-toolbar\"><span class=\"code-block-language\">Python</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=\"Python code\"><code><span class=\"kn\">from</span><span class=\"w\"> </span><span class=\"nn\">django.shortcuts</span><span class=\"w\"> </span><span class=\"kn\">import</span> <span class=\"n\">render</span>\n\n<span class=\"kn\">from</span><span class=\"w\"> </span><span class=\"nn\">.models</span><span class=\"w\"> </span><span class=\"kn\">import</span> <span class=\"n\">Article</span>\n\n\n<span class=\"k\">def</span><span class=\"w\"> </span><span class=\"nf\">year_archive</span><span class=\"p\">(</span><span class=\"n\">request</span><span class=\"p\">,</span> <span class=\"n\">year</span><span class=\"p\">):</span>\n    <span class=\"n\">a_list</span> <span class=\"o\">=</span> <span class=\"n\">Article</span><span class=\"o\">.</span><span class=\"n\">objects</span><span class=\"o\">.</span><span class=\"n\">filter</span><span class=\"p\">(</span><span class=\"n\">pub_date__year</span><span class=\"o\">=</span><span class=\"n\">year</span><span class=\"p\">)</span>\n    <span class=\"n\">context</span> <span class=\"o\">=</span> <span class=\"p\">{</span><span class=\"s2\">&quot;year&quot;</span><span class=\"p\">:</span> <span class=\"n\">year</span><span class=\"p\">,</span> <span class=\"s2\">&quot;article_list&quot;</span><span class=\"p\">:</span> <span class=\"n\">a_list</span><span class=\"p\">}</span>\n    <span class=\"k\">return</span> <span class=\"n\">render</span><span class=\"p\">(</span><span class=\"n\">request</span><span class=\"p\">,</span> <span class=\"s2\">&quot;news/year_archive.html&quot;</span><span class=\"p\">,</span> <span class=\"n\">context</span><span class=\"p\">)</span>\n</code></pre></figure>\n<p>Úsáideann an sampla seo <a class=\"reference internal\" href=\"/ga/6.0/topics/templates/\"><span class=\"doc\">córas teimpléid Django</span></a>, a bhfuil roinnt gnéithe cumhachtacha aige ach a dhéanann iarracht fanacht simplí go leor le húsáid gan ríomhchláraitheoirí.</p>\n</section>\n<section id=\"design-your-templates\">\n<h2>Dear do teimpléid<a class=\"heading-anchor\" href=\"#design-your-templates\"><span class=\"visually-hidden\">Link to this heading</span><span aria-hidden=\"true\">#</span></a></h2>\n<p>Luchtaíonn an cód thuas an teimpléad <code class=\"docutils literal notranslate\"><span class=\"pre\">news/year_archive.html</span></code>.</p>\n<p>Tá cosán cuardaigh teimpléad ag Django, a ligeann duit iomarcaíocht a íoslaghdú i measc teimpléid. I do shocruithe Django, sonraíonn tú liosta eolairí le seiceáil le haghaidh teimpléid le:setting:'DIRS&lt;TEMPLATES-DIRS&gt;'. Mura bhfuil teimpléad ann sa chéad eolaire, seiceálann sé an dara ceann, agus mar sin de.</p>\n<p>Abraimis gur aimsíodh an teimpléad <code class=\"docutils literal notranslate\"><span class=\"pre\">news/year_archive.html</span></code>. Seo an chuma a d'fhéadfadh a bheith air sin:</p>\n<figure class=\"code-block code-block-captioned\" data-language=\"html+django\"><figcaption class=\"code-block-caption\"><code class=\"docutils literal notranslate\"><span class=\"pre\">news/templates/news/year_archive.html</span></code></figcaption>\n<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\">extends</span> <span class=\"s2\">&quot;base.html&quot;</span> <span class=\"cp\">%}</span>\n\n<span class=\"cp\">{%</span> <span class=\"k\">block</span> <span class=\"nv\">title</span> <span class=\"cp\">%}</span>Articles for <span class=\"cp\">{{</span> <span class=\"nv\">year</span> <span class=\"cp\">}}{%</span> <span class=\"k\">endblock</span> <span class=\"cp\">%}</span>\n\n<span class=\"cp\">{%</span> <span class=\"k\">block</span> <span class=\"nv\">content</span> <span class=\"cp\">%}</span>\n<span class=\"p\">&lt;</span><span class=\"nt\">h1</span><span class=\"p\">&gt;</span>Articles for <span class=\"cp\">{{</span> <span class=\"nv\">year</span> <span class=\"cp\">}}</span><span class=\"p\">&lt;/</span><span class=\"nt\">h1</span><span class=\"p\">&gt;</span>\n\n<span class=\"cp\">{%</span> <span class=\"k\">for</span> <span class=\"nv\">article</span> <span class=\"k\">in</span> <span class=\"nv\">article_list</span> <span class=\"cp\">%}</span>\n    <span class=\"p\">&lt;</span><span class=\"nt\">p</span><span class=\"p\">&gt;</span><span class=\"cp\">{{</span> <span class=\"nv\">article.headline</span> <span class=\"cp\">}}</span><span class=\"p\">&lt;/</span><span class=\"nt\">p</span><span class=\"p\">&gt;</span>\n    <span class=\"p\">&lt;</span><span class=\"nt\">p</span><span class=\"p\">&gt;</span>By <span class=\"cp\">{{</span> <span class=\"nv\">article.reporter.full_name</span> <span class=\"cp\">}}</span><span class=\"p\">&lt;/</span><span class=\"nt\">p</span><span class=\"p\">&gt;</span>\n    <span class=\"p\">&lt;</span><span class=\"nt\">p</span><span class=\"p\">&gt;</span>Published <span class=\"cp\">{{</span> <span class=\"nv\">article.pub_date</span><span class=\"o\">|</span><span class=\"nf\">date</span><span class=\"s2\">:&quot;F j, Y&quot;</span> <span class=\"cp\">}}</span><span class=\"p\">&lt;/</span><span class=\"nt\">p</span><span class=\"p\">&gt;</span>\n<span class=\"cp\">{%</span> <span class=\"k\">endfor</span> <span class=\"cp\">%}</span>\n<span class=\"cp\">{%</span> <span class=\"k\">endblock</span> <span class=\"cp\">%}</span>\n</code></pre></figure>\n<p>Tá athróga timpeallaithe ag braces dúbailte-curly. Ciallaíonn <code class=\"docutils literal notranslate\"><span class=\"pre\">{{</span> <span class=\"pre\">article.headline</span> <span class=\"pre\">}}</span></code> &quot;Aschur luach phríomhthréith an ailt.&quot; Ach ní úsáidtear poncanna ach amháin le haghaidh lookup tréith. Is féidir leo cuardach foclóra-eochair, cuardach innéacs agus glaonna feidhme a dhéanamh freisin.</p>\n<p>Nóta <code class=\"docutils literal notranslate\"><span class=\"pre\">{{</span> <span class=\"pre\">article.pub_date|date:&quot;F</span> <span class=\"pre\">j,</span> <span class=\"pre\">Y&quot;</span> <span class=\"pre\">}}</span></code> úsáideann &quot;píopa&quot; stíl Unix (an carachtar &quot;|&quot;). Tugtar scagaire teimpléid air seo, agus is bealach é chun luach athróg a scagadh. Sa chás seo, formáidí an scagaire dáta réad datetime Python san fhormáid a thugtar (mar atá le fáil i bhfeidhm dáta PHP).</p>\n<p>Is féidir leat an oiread scagairí agus is mian leat a shlabhra le chéile. Is féidir leat scríobh: ref: 'custom template &lt;howto-writing-custom-template-filters&gt;filters'. Is féidir leat scríobh :d oc: 'custom template tags &lt;/howto/custom-template-tags&gt;', a ritheann cód saincheaptha Python taobh thiar de na radhairc.</p>\n<p>Ar deireadh, úsáideann Django coincheap &quot;oidhreacht teimpléid&quot;. Sin a dhéanann an <code class=\"docutils literal notranslate\"><span class=\"pre\">{%</span> <span class=\"pre\">extends</span> <span class=\"pre\">&quot;base.html&quot;</span> <span class=\"pre\">%}</span></code> . Ciallaíonn sé &quot;An chéad luchtú an teimpléad ar a dtugtar 'bonn', a bhfuil sainithe a bunch de bloic, agus líon na bloic leis na bloic seo a leanas.&quot; I mbeagán focal, ligeann sé sin duit gearradh síos go mór ar iomarcaíocht i dteimpléid: ní mór do gach teimpléad ach an méid atá uathúil don teimpléad sin a shainiú.</p>\n<p>Seo an méid a d'fhéadfadh an teimpléad &quot;base.html&quot;, lena n-áirítear úsáid a bhaint as :d oc: 'comhaid statacha &lt; / howto / static-files / index&gt;, cuma mhaith:</p>\n<figure class=\"code-block code-block-captioned\" data-language=\"html+django\"><figcaption class=\"code-block-caption\"><code class=\"docutils literal notranslate\"><span class=\"pre\">templates/base.html</span></code></figcaption>\n<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\">load</span> <span class=\"nv\">static</span> <span class=\"cp\">%}</span>\n<span class=\"p\">&lt;</span><span class=\"nt\">html</span> <span class=\"na\">lang</span><span class=\"o\">=</span><span class=\"s\">&quot;en&quot;</span><span class=\"p\">&gt;</span>\n<span class=\"p\">&lt;</span><span class=\"nt\">head</span><span class=\"p\">&gt;</span>\n    <span class=\"p\">&lt;</span><span class=\"nt\">title</span><span class=\"p\">&gt;</span><span class=\"cp\">{%</span> <span class=\"k\">block</span> <span class=\"nv\">title</span> <span class=\"cp\">%}{%</span> <span class=\"k\">endblock</span> <span class=\"cp\">%}</span><span class=\"p\">&lt;/</span><span class=\"nt\">title</span><span class=\"p\">&gt;</span>\n<span class=\"p\">&lt;/</span><span class=\"nt\">head</span><span class=\"p\">&gt;</span>\n<span class=\"p\">&lt;</span><span class=\"nt\">body</span><span class=\"p\">&gt;</span>\n    <span class=\"p\">&lt;</span><span class=\"nt\">img</span> <span class=\"na\">src</span><span class=\"o\">=</span><span class=\"s\">&quot;</span><span class=\"cp\">{%</span> <span class=\"k\">static</span> <span class=\"s1\">&#39;images/sitelogo.png&#39;</span> <span class=\"cp\">%}</span><span class=\"s\">&quot;</span> <span class=\"na\">alt</span><span class=\"o\">=</span><span class=\"s\">&quot;Logo&quot;</span><span class=\"p\">&gt;</span>\n    <span class=\"cp\">{%</span> <span class=\"k\">block</span> <span class=\"nv\">content</span> <span class=\"cp\">%}{%</span> <span class=\"k\">endblock</span> <span class=\"cp\">%}</span>\n<span class=\"p\">&lt;/</span><span class=\"nt\">body</span><span class=\"p\">&gt;</span>\n<span class=\"p\">&lt;/</span><span class=\"nt\">html</span><span class=\"p\">&gt;</span>\n</code></pre></figure>\n<p>Go simplí, sainmhíníonn sé cuma agus mothú an tsuímh (le lógó an tsuímh), agus soláthraíonn sé &quot;poill&quot; le haghaidh teimpléid leanaí a líonadh. Ciallaíonn sé seo gur féidir athdhearadh láithreáin a dhéanamh trí chomhad amháin a athrú - an teimpléad bonn.</p>\n<p>Ligeann sé duit leaganacha éagsúla de shuíomh a chruthú freisin, le teimpléid bhunúsacha éagsúla, agus teimpléid leanaí á n-athúsáid. D'úsáid cruthaitheoirí Django an teicníc seo chun leaganacha soghluaiste éagsúla de shuíomhanna a chruthú trí theimpléad bonn nua a chruthú.</p>\n<p>Note that you don't have to use Django's template system if you prefer another\nsystem. While Django's template system is particularly well-integrated with\nDjango's model layer, nothing forces you to use it. For that matter, you don't\nhave to use Django's database API, either. You can use another database\nabstraction layer, you can read XML files, you can read files off disk, or\nanything you want. Each piece of Django -- models, views, templates -- is\ndecoupled from the next.</p>\n</section>\n<section id=\"this-is-just-the-surface\">\n<h2>Níl anseo ach an dromchla<a class=\"heading-anchor\" href=\"#this-is-just-the-surface\"><span class=\"visually-hidden\">Link to this heading</span><span aria-hidden=\"true\">#</span></a></h2>\n<p>Ní raibh anseo ach forbhreathnú tapa ar fheidhmiúlacht Django. Roinnt gnéithe níos úsáidí:</p>\n<ul class=\"simple\">\n<li><p>A :d oc:caching framework &lt;/topics/cache&gt; a chomhtháthaíonn le memcached nó le cúil eile.</p></li>\n<li><p>A :d oc:syndication framework &lt;/ref/contrib/syndication&gt; a ligeann duit fothaí RSS agus Adamh a chruthú trí rang beag Python a scríobh.</p></li>\n<li><p>Gnéithe riaracháin níos tarraingtí a ghintear go huathoibríoch - is ar éigean a scríob an forbhreathnú seo an dromchla.</p></li>\n</ul>\n<p>Is iad na chéad chéimeanna eile ná <a class=\"reference external\" href=\"https://www.djangoproject.com/download/\">íoslódáil Django</a>, léigh :d oc:the tutorial &lt;/intro/tutorial01&gt; agus páirt a ghlacadh i <a class=\"reference external\" href=\"https://www.djangoproject.com/community/\">the community</a>. Go raibh maith agat as do spéis!</p>\n</section>","rootId":"django-at-a-glance","toc":[{"title":"Dear do mhúnla","anchor":"design-your-model","children":[]},{"title":"Suiteáil é","anchor":"install-it","children":[]},{"title":"Bain sult as an API saor in aisce","anchor":"enjoy-the-free-api","children":[]},{"title":"Comhéadan dinimiciúil riaracháin: níl sé ach scafall - is é an teach ar fad é","anchor":"a-dynamic-admin-interface-it-s-not-just-scaffolding-it-s-the-whole-house","children":[]},{"title":"Dear do URLanna","anchor":"design-your-urls","children":[]},{"title":"Scríobh do thuairimí","anchor":"write-your-views","children":[]},{"title":"Dear do teimpléid","anchor":"design-your-templates","children":[]},{"title":"Níl anseo ach an dromchla","anchor":"this-is-just-the-surface","children":[]}],"breadcrumbs":[{"docname":"intro/index","title":"Ag tosnú","url":"/ga/6.0/intro/"}],"prev":{"docname":"intro/index","title":"Ag tosnú","url":"/ga/6.0/intro/"},"next":{"docname":"intro/install","title":"Treoir suiteála tapa","url":"/ga/6.0/intro/install/"},"formats":{"html":"/ga/6.0/intro/overview/","markdown":"/ga/6.0/intro/overview.md","json":"/ga/6.0/intro/overview.json"},"source":"https://github.com/django/django/blob/stable/6.0.x/docs/intro/overview.txt","official":"https://docs.djangoproject.com/ga/6.0/intro/overview/","inVersions":["6.1","6.0","5.2"],"inLocales":["en","sv","zh-hans","ga","fr","ja","id","it","pt-br","ko","es","el","pl"]}