---
title: "Nótaí scaoilte Django 1.7"
version: 5.2
locale: ga
source: https://docs.djangoproject.com/ga/5.2/releases/1.7/
canonical: https://djangodocs.dev/ga/5.2/releases/1.7/
---
# Nótaí scaoilte Django 1.7

*Meán Fómhair 2, 2014*

Fáilte go dtí Django 1.7!

Clúdaíonn na nótaí scaoilte seo na:ref: gnéithe nua \<whats-new-1.7\>, chomh maith le roinnt athruithe: ref: athruithe neamh-chomhoiriúnacha ar chúl\<backwards-incompatible-1.7\> a mbeidh tú ag iarraidh a bheith ar an eolas fúthu agus tú ag uasghrádú ó Django 1.6 nó leaganacha níos sine. \<removed-features-1.7\>Thosaigh muid: Ref: an próiseas díghabhála do roinnt \<deprecated-features-1.7\>gnéithe \`, agus tá roinnt gnéithe tar éis deireadh a bpróiseas díscrúdaithe agus:ref: \`baineadh.

## Comhoiriúnacht Python

Éilíonn Django 1.7 Python 2.7, 3.2, 3.3, nó 3.4. Molaimid\*\* go hard\*\* agus ní thacaímid go hoifigiúil ach leis an scaoileadh is déanaí de gach sraith.

Is é an tsraith Django 1.6 an ceann deireanach a thacaíonn le Python 2.6. Is é Django 1.7 an chéad eisiúint chun tacú le Python 3.4.

Níor cheart go mbíonn tionchar ag an athrú seo ach ar líon beag úsáideoirí Django, mar tá formhór na ndíoltóirí córais oibriúcháin inniu ag seoladh Python 2.7 nó níos nuaí mar a leagan réamhshoc Má tá Python 2.6 á úsáid agat fós, áfach, beidh ort cloí le Django 1.6 go dtí gur féidir leat do leagan Python a uasghrádú. Per:doc: ár mbeartas tacaíochta ', leanfaidh \</internals/release-process\> Django 1.6 ag fáil tacaíochta slándála go dtí go scaoilfear Django 1.8.

## Cad atá nua i Django 1.7

### Imirce scéime

Tá tacaíocht ionsuite ag Django anois d'imirce scéime. Ligeann sé samhlacha a nuashonrú, a athrú agus a scriosadh trí chomhaid imirce a chruthú a léiríonn na hathruithe samhail agus ar féidir iad a reáchtáil ar aon bhunachar sonraí forbartha, stáitsithe nó táirgeachta.

Tá imirce clúdaithe in:doc: a gcuid doiciméadaithe féin, ach is iad seo a leanas cu@@\</topics/migrations\> id de na príomhghnéithe:

- Tá syncdb\` díluaite agus tá `imirce` ina ionad. Ná bíodh imní ort - oibreoidh glaonna chuig syncdb\` fós mar a bhí roimhe seo.
- Soláthraíonn ordú nua makemigrations\` bealach éasca chun athruithe ar do mhúnlaí a bhrath uathoibríoch agus imirce a dhéanamh dóibh.

  Rinneadh `django.db.models.signals.pre_syncdb` agus `django.db.models.signals.post_syncdb` a chur in ionad:: ~django.db.models.signals.pre\_migrate agus:data: ~django.db.models.signals.post\_migrate faoi seach. Tá argóintí beag difriúil ag na comharthaí nua seo. Seiceáil an doiciméadú le haghaidh sonraí.
- Tugtar allow\_migrate\` anois ar an modh allow\_syncdb\` ar ródairí bunachar sonraí, ach comhlíonann sé an fheidhm chéanna fós. Oibreoidh ródairí le modhanna allow\_syncdb\` fós, ach tá an t-ainm modh sin díscoite agus ba chóir duit é a athrú a luaithe is féidir (ní gá aon rud níos mó ná athainmniú).
- Ní chuirtear daingneáin initial\_data \`\`luchtaithe a thuilleadh le haghaidh aipeanna le himirce; más mian leat sonraí tosaigh a luchtú d'aip, molaimid duit imirce a chruthú do d'iarratas agus a: class: \`~django.db.migrations.operations.runpython nó:class: ~django.db.migrations.operations.runsql a shainiú sa operations\`operations\`operations\` “roinn den imirce.
- \<test-case-serialized-rollback\>Tá iompar aistrithe tástála difriúil d'aipeanna le himirce; go háirithe, ní dhéanfaidh Django aithris ar ais a thuilleadh ar bhunachair sonraí neamh-idirbheartaíochta nó taobh istigh de TransactionTestCase\`: ref: mura n-iarrtar go sonrach .
- Ní mholtar aipeanna gan imirce a bheith ag brath ar (a: class: ~django.db.models.foreignKey nó: class: ~django.db.models.manyToManyField go) aipeanna le himirce.

### Athbhreithneoir luchtaithe aip

Go stairiúil, bhí feidhmchláir Django nasctha go docht le samhlacha. Dhéileáil aonair ar a dtugtar “taisce an aip” le feidhmchláir agus samhlacha suiteáilte araon. Úsáideadh an modúl samhlacha mar aitheantóir d'iarratais i go leor APIs.

De réir mar a tháinig coincheap de:doc: Feidhmchláir Django aibí, léirigh an cód seo roinnt easna\</ref/applications\> imh. Athraíodh é i “chlárlann aipeanna” áit nach bhfuil ról lárnach ag modúil samhlacha a thuilleadh agus áit ar féidir sonraí cumraíochta a cheangal le feidhmchláir.

I measc feabhsuithe go dtí seo tá:

- Is féidir le feidhmchláir cód a reáchtáil ag tosú, sula ndéanann Django aon rud eile, leis an modh: meth: ~django.apps.appconfig.ready dá gcumraíocht.
- Sanntar lipéid iarratais i gceart do mhúnlaí fiú nuair a shainmhínítear iad lasmuigh de models.py. Ní gá duit: attr: ~django.db.models.options.app\_label a shocrú go sainráite níos mó.
- Is féidir `models.py` a fhágáil go hiomlán mura bhfuil aon mhúnlaí ag feidhmchlár.
- Is féidir iarratais a athlipéadú leis an tréith: attr: ~django.apps.appconfig.label de chumraíochtaí feidhmchláir, chun oibriú timpeall coimhlintí lipéad.
- Is féidir ainm na bhfeidhmchlár a shaincheapadh sa riarachán len:attr: ~django.apps.appconfig.verbose\_name cumraíochtaí feidhmchláir.
- Glaonn an riarachán go huathoibríoch: func: ~django.contrib.admin.autoDiscovery () nuair a thosaíonn Django. Dá bhrí sin is féidir leat an líne seo a bhaint as do URLConf.
- Allmhairíonn Django gach cumraíocht agus múnla feidhmchláir a luaithe a thosaíonn sé, trí phróiseas cinntitheach agus simplí. Ba cheart go n-éascódh sé sin saincheisteanna allmhairithe a dhiagnóiseadh mar lúba allmhairithe.

### Modh nua ar fho-aicmí Allamuigh

Chun cabhrú le himirce scéime a chumhachtú agus chun eochracha ilchodacha a chur leis níos éasca in eisiúintí Django amach anseo, tá modh nua riachtanach anois ag an API: class: ~Django.db.Models.Field: deconstruct () .

Ní ghlacann an modh seo aon argóintí, agus tugann sé tuple de cheithre mhír ar ais:

- `ainm`: Ainm tréith an réimse ar a mhúmhúnla, nó None mura bhfuil sé mar chuid de mhúnla
- `path`: Conair poncanach, Python chuig rang an réimse seo, lena n-áirítear ainm an ranga.
- `args`: Argóintí seasaimh, mar liosta
- `kwargs`: Argóintí eochairfhocal, mar ordacht

Ligeann na ceithre luach seo aon réimse a shraitheadh i gcomhad, chomh maith le ligean an réimse a chóipeáil go sábháilte, an dá chuid riachtanach de na gnéithe nua seo.

Níor chóir go gcuirfeadh an t-athrú seo difear ort mura scríobhann tú fo-aicmí Réimse saincheaptha; má dhéanann tú, b'fhéidir go mbeidh ort an modh ```deconstruct () `a athchur i bhfeidhm má athraíonn do fho-aicme síniú modh ``__init__``` ar bhealach ar bith. Mura n-oidhreann do réimse ach ó réimse ionsuite Django agus mura n-athraíonn sé `__init__`, níl aon athruithe riachtanach.

Más gá duit ```deconstruct () ``a shárú, áit mhaith le tosú ná na réimsí Django ionsuite (``django/db/models/fields/__init__.py```) mar roinnt réimsí, lena n-áirítear `Decimalfield` agus Datefield\`, é a shárú agus taispeáin conas an modh a ghlaoch ar an sárrang agus ach breise a chur nó a bhaint argóintí.

\<migration-serializing\>Ciallaíonn sé seo freisin go gcaithfidh gach argóint a bhaineann le réimsí a bheith inshraitheach; chun a fheiceáil cad a mheasaimid inseriálaithe, agus chun a fháil amach conas do ranganna féin a dhéanamh inshraitheach, léigh an:ref: doiciméadú sraitheoireachta imirce .

### Ag glaoch ar mhodhanna saincheaptha ```QuerySet ``ón `Bainiste```

Go stairiúil, ba é an bealach a mholtar chun ceisteanna samhail in-athúsáidte a dhéanamh ná modhanna a chruthú ar rang saincheaptha `Bainiste`. Ba í an fhadhb leis an gcur chuige seo ná go bhfaighfeá sampla QuerySet ar ais tar éis an chéad ghlao modh agus nach bhféadfá modhanna bainisteora saincheaptha breise a ghlaoch.

Cé nach raibh sé doiciméadaithe, bhí sé coitianta oibriú timpeall ar an gceist seo trí “QuerySet” saincheaptha a chruthú ionas go bhféadfaí modhanna saincheaptha a shlánú; ach bhí roinnt míbhuntáistí ag an réiteach:

- Cailleadh an saincheaptha ```QuerySet` agus a mhodhanna saincheaptha tar éis an chéad ghlao chuig ``values () ``nó `values_list ()```.
- Bhí gá fós ag scríobh saincheaptha `Bainiste` chun an rang saincheaptha `QuerySet` a thabhairt ar ais agus b'éigean gach modh a bhí ag teastáil ar an `Bainiste` a sheoladh chuig an QuerySet\`. Chuaigh an próiseas iomlán i gcoinne prionsabal DRY.

\<create-manager-with-queryset-methods\>Is féidir leis an modh ranga:Meth: QuerySet.as\_Manager () \<django.db.models.query.QuerySet.as\_manager\>\`anois go díreach anois:ref: \`Bainisteoir a chruthú le modhanna QuerySet:

```
class FoodQuerySet(models.QuerySet):
    def pizzas(self):
        return self.filter(kind="pizza")

    def vegetarian(self):
        return self.filter(vegetarian=True)

class Food(models.Model):
    kind = models.CharField(max_length=50)
    vegetarian = models.BooleanField(default=False)
    objects = FoodQuerySet.as_manager()

Food.objects.pizzas().vegetarian()
```

### Bainisteoir saincheaptha a úsáid agus caidreamh droim ar ais

Is féidir anois:ref: bainisteoir saincheaptha a shonrú \<using-custom-reverse-manager\>\`agus caidreamh droim ar ais:

```
class Blog(models.Model):
    pass

class Entry(models.Model):
    blog = models.ForeignKey(Blog)

    objects = models.Manager()  # Default Manager
    entries = EntryManager()  # Custom Manager

b = Blog.objects.get(id=1)
b.entry_set(manager="entries").all()
```

### Creat seiceála córais nua

Chuireamar nua:doc: Creat seiceála córas chun fadhbanna coitianta a bhrath (cosú\</ref/checks\> il le samhlacha neamhbhailí) agus leideanna a sholáthar chun na fadhbanna sin a réiteach. Tá an creat inleathnaithe ionas gur féidir leat do sheiceálacha féin a chur le haghaidh d'aipeanna agus leabharlanna féin.

Chun seiceálacha córais a dhéanamh, úsáideann tú an t-ordú bainistíochta: djadmin: check. Cuireann an t-ordú seo in ionad an t-ordú bainistíochta bailíochta níos sine.

### Réad nua `Prefetch` le haghaidh ardoibríochtaí `prefetch_related`.

Ceadaíonn an réad nua:class: ~django.db.models.prefetch oibríochtaí réamhfhillte a shaincheapadh.

Is féidir leat an “QuerySet” a shonrú a úsáidtear chun caidreamh ar leith a thrasú nó suíomh stórála na dtorthaí réamhfhaighte a shaincheapadh.

Cuireann sé seo ar chumas rudaí cosúil le caidrimh réamhfhaighte a scagadh, glaoch ar: meth: ~django.db.models.query.queryset.select\_related () ó ghaol réamhfhaighte, nó an gaol céanna a réamhghabháil arís agus arís eile le ceisteanna éagsúla. Féach: Meth: ~django.db.models.query.queryset.prefetch\_related () le haghaidh tuilleadh sonraí.

### Tacaíonn aicearraí riaracháin le criosanna ama

\<default-current-time-zone\>Tá na aicearraí “inniu” agus “anois” in aice le giuirléidí ionchuir dáta agus ama sa riarachán ag feidhmiú anois in:ref: crios ama reatha . Roimhe seo, d'úsáid siad crios ama an bhrabhsálaí, rud a d'fhéadfadh an luach mícheart a shábháil nuair nach raibh sé ag teacht leis an gcrios ama reatha ar an bhfreastalaí.

Ina theannta sin, taispeánann na giuirléidí teachtaireacht cabhrach anois nuair a bhíonn crios ama an bhrabhsálaí agus an fhreastalaí difriúil, chun a shoiléiriú conas a léirmhíneofar an luach a cuireadh isteach sa réimse.

### Ag baint úsáide as cursóirí bunachar sonraí mar bhainiste

Roimh Python 2.7, d'fhéadfaí cúrsóirí bunachar sonraí a úsáid mar bhainisteoir comhthéacs. Sainmhínigh cúrsóir an chúltaca sonrach iompar an bhainisteora comhthéacs. Athraíodh iompar cuardaigh modh draíochta le Python 2.7 agus ní raibh cúrsóirí inúsáidte a thuilleadh mar bhainisteoirí comhthéacs.

Ligeann Django 1.7 cúrsóir a úsáid mar bhainisteoir comhthéacs. Is é sin, is féidir an méid seo a leanas a úsáid:

```
with connection.cursor() as c:
    c.execute(...)
```

in ionad:

```
c = connection.cursor()
try:
    c.execute(...)
finally:
    c.close()
```

### Cuardaigh saincheaptha

Is féidir anois cuardaigh agus claochruithe saincheaptha a scríobh don ORM. Oibríonn cuardaigh saincheaptha díreach cosúil le cuardaigh ionsuite Django (m.sh. `lte`, icontains) agus is coincheap nua iad claochluithe.

Soláthraíonn an rang:class: Django.db.Models.lookup bealach chun oibreoirí cuardaigh a chur le haghaidh réimsí samhail. Mar shampla is féidir oibreoir `day_lte` a chur le haghaidh `Datefields`.

Ceadaíonn an rang:class: Django.DB.Models.Transform claochlú luachanna bunachar sonraí roimh an gcuardach deiridh. Mar shampla, is féidir claochlú ```bliain ``a scríobh a bhaineann bliain ó luach an réimse. Ceadaíonn claochruithe slabhraithe. Tar éis an claochlú ``bliain ``a chur le ``Datefield``` is féidir scagadh a dhéanamh ar an luach claochlaithe, mar shampla `qs.filter (author__birthdate__year__lte=1981)`.

Le haghaidh tuilleadh faisnéise faoi chuardach saincheaptha agus claochruithe araon féach ar an doiciméad:doc: custom lookups \</howto/custom-lookups\>.

### Feabhsuithe ar láimhseáil earráide `Foirme`

#### Form.add\_Error () \`\`

Roimhe seo bhí dhá phríomhphatrún ann chun earráidí i bhfoirmeacha a láimhseáil:

- \<fieldname\>Ag ardú a:exc: ~django.core.exceptions.validationError ó laistigh de fheidhmeanna áirithe (m.sh. Field.clean () \`, Form.clean\_ ()\`, nó Form.clean () le haghaidh earráidí neamh-réimse.)
- Ag glacadh le ```Foirm. _earráidí ``agus tú ag díriú ar réimse ar leith i `Form.clean ()``` nó earráidí a chur leis ó lasmuigh de mhodh “glan” (m.sh. go díreach ó radharc).

Bhí sé simplí an chéad phatrún a úsáid ós rud é gur féidir leis an bhfoirm a thuairim ón gcomhthéacs (ie cén modh a d'ardaigh an eisceacht) cá mbaineann na hearráidí agus iad a phróiseáil Is é seo an bealach canónach chun earráidí a chur leis nuair is féidir. Mar sin féin, bhí an dara ceann díreach agus seans ó earráidí, ós rud é gur thit an t-ualach a bhaineann le cásanna imeall a láimhseáil ar an úsáideoir.

Ligeann an modh nua:meth: ~django.forms.form.add\_error () \`earráidí a chur le réimsí foirme ar leith ó áit ar bith gan a bheith buartha faoi na sonraí mar shampla cásanna de \`Django.Forms.utils.errorList\` a chruthú nó déileáil le `Form.Cleaned_Data`. Cuireann an API nua seo in ionad ionramháil Foirm. \_earráidí atá anois ina API príobháideach.

Féach:ref: validating-fields-with-clean mar shampla ag baint úsáide as form.add\_error () .

#### Meiteashonraí earrá

\<django.forms.Form.errors\>Glacann an tógálaí:EXC: ~Django.Core.Exceptions.ValidationError le meiteashonraí mar earráid `code` nó params\` atá ar fáil ansin le hidirphóireacht isteach sa teachtaireacht earráide (féach: raising-validation-error le haghaidh tuilleadh sonraí); áfach, roimh Django 1.7 cuireadh na meiteashonraí sin a luaithe a cuireadh na hearráidí la:attr: Form.Earráidí .

\<django.forms.Form.errors.as\_data () \>:attr: Form.error agus `<django.forms.Form.errors>Django.Forms.Utils.ErrorList` a stóráil anois na cásanna `ValidationError` ionas gur féidir na meiteashonraí seo a aisghabháil ag am ar bith tríd an modh nua:meth: Form.errors.as\_data.

Is féidir na cásanna `ValidationError` a aisghabháil ansin a aithint a bhuíochas dá n-earráid cód a chuireann ar chumas rudaí cosúil le teachtaireacht an earráide a athscríobh nó loighic saincheaptha a scríobh i radharc nuair a bhíonn earráid ar leith i láthair. Is féidir é a úsáid freisin chun na hearráidí a shraitheadh i bhformáid saincheaptha mar XML.

Is modh áisiúlachta é an modh nua:meth: Form.errors.as\_json () a thugann teachtaireachtaí earráide ar ais mar aon le \<django.forms.Form.errors.as\_json () \> cóid earráide a shraitheann mar JSON. Úsáideann \`\`as\_json () \`\`\`as\_data ()\` agus tugann sé tuairim faoin gcaoi a bhféadfaí an córas nua a leathnú.

#### Coimeádáin earráide agus comhoiriú

Bhí gá le hathruithe troma ar na coimeádáin earráide éagsúla chun tacú leis na gnéithe thuas, go sonraí:attr: Form.Errors \`, \`Django.Forms.Utils.ErrorList\`, agus na stórálaí inmheánacha de:exc: ~Django.Core.Exceptions.Vali \<django.forms.Form.errors\>dationError. Stórálann na coimeádáin seo a d'úsáid teaghráin earráide cásanna ValidationError anois agus tá APIs poiblí oiriúnaithe chun é seo a dhéanamh chomh trédhearcach agus is féidir, ach má bhí APIs príobháideacha á úsáid agat, tá cuid de na hathruithe ag teacht ar ais; féach:ref: validation-error-constructor-and-internal-storage le haghaidh tuilleadh sonraí.

### Mionghnéithe

#### [`django.contrib.admin`](/ga/5.2/ref/contrib/admin/#module-django.contrib.admin)

- Is féidir leat a chur i bhfeidhm anois:attr: ~django.contrib.admin.admin.adminsite.header, :attr: ~django.contrib.admin.admin.admin.title, agus: attr: ~django.contrib.admin.admin.adminsite.index\_title tréithe saincheapa:class: ~django.contrib.admin.site in ord chun teideal leathanaigh agus téacs ceanntásc an láithreáin riaracháin a athrú go héasca. Níl gá níos mó teimpléid a shárú!
- Úsáideann cnaipí in:mod: django.contrib.admin an maoin CSS border-radius\` anois le haghaidh coirnéil cruinn seachas íomhánna cúlra GIF.
- Tá ranganna ```app- ``agus``` \<app\_name\>model- `ag roinnt teimpléid riaracháin ina gclib` \<model\_name\> chun an CSS a shaincheapadh in aghaidh an aip nó in aghaidh an t \<body\>samhail a cheadú.
- Tá rang `field-<field_name>` sa HTML anois ag na cealla athraithe riaracháin chun saincheaptha stíl a chumasú.
- Is féidir réimsí cuardaigh an riaracháin a shaincheapadh anois in aghaidh iarratais a bhuíochas leis an modh nua: meth: django.contrib.admin.modeladmin.get\_search\_fields.
- \<django.contrib.admin.ModelAdmin.fields\>Féadfar an modh: Meth: ModelAdmin.get\_fields () \<django.contrib.admin.ModelAdmin.get\_fields\>\`a athshealbhú chun luach: attr: \`ModelAdmin.fields a shaincheapadh.
- Chomh maith leis an gcomhréir admin.site.register\` atá ann cheana, is féidir leat an maisitheoir nua:func: ~django.contrib.admin.register a úsáid chun a:class: ~django.contrib.admin.modelAdmin a chlárú.
- Féadfaidh tú a shonró:meth: ModelAdmin.list\_display\_links \`\`= None \<django.contrib.admin.ModelAdmin.list\_display\_links\>\`chun naisc ar an eangach leathanaigh liosta athraithe a dhíchumasú.
- Féadfaidh tú anois: attr: ModelAdmin.view\_on\_site \<django.contrib.admin.ModelAdmin.view\_on\_site\>\`a shonrú chun rialú a dhéanamh ar an nasc “Amharc ar an láithreán” a thaispeáint nó nach bhfuil.
- Is féidir leat ordú íslitheach a shonrú do luach a: attr: ModelAdmin.list\_display \<django.contrib.admin.ModelAdmin.list\_display\>\`tríd an luach \`admin\_order\_field a réamhshocrú le hiphen.
- \<django.contrib.admin.ModelAdmin.get\_changeform\_initial\_data\>Féadfar an modh: Meth: ModelAdmin.get\_ChangeForm\_Initial\_Data () a athshealbhú chun iompar saincheaptha a shainiú chun sonraí foirme athraithe tosaigh a shocrú.

#### [`django.contrib.auth`](/ga/5.2/topics/auth/#module-django.contrib.auth)

- Any `**kwargs` passed to
  [`email_user()`](/ga/5.2/ref/contrib/auth/#django.contrib.auth.models.User.email_user) are passed to the
  underlying [`send_mail()`](/ga/5.2/topics/email/#django.core.mail.send_mail) call.
- Is féidir leis an maisitheoir: Func: ~django.contrib.auth.decorators.permission\_required liosta ceadanna a ghlacadh chomh maith le cead amháin.
- \<django.contrib.auth.forms.AuthenticationForm.confirm\_login\_allowed\>Is féidir leat an modh nua:meth: AuthenticationForm.confirm\_login\_allow () a shárú chun an beartas logála isteach a shaincheapadh níos éasca.
- Glacann ```django.contrib.auth.views.password_reset () ``paraiméadar roghnach ``html_email_template_name``` a úsáidtear chun ríomhphost HTML ilpháirteach a sheoladh le haghaidh athshocraithe pasfhocal.
- Cuireadh an modh: Meth: AbstractBaseUser.get\_session\_auth\_hash () \<django.contrib.auth.models.AbstractBaseUser.get\_session\_auth\_hash\>\`leis agus má tá do: setting: \`AUTH\_USER\_MODEL oidhreacht ó:class: ~django.contrib.auth.models.abstractBaseUser, athraíonn pasfhocal úsáideora anois sean-seisiúin má tá an Django.Contrib.Authentic.leware.session.session.Tá “MiddleWare” cumasaithe. Féach: Ref: seision-invalidation-on-pasfho-athraithe' le haghaidh tuilleadh sonraí.

#### `django.contrib.formtools`

- Cuimsíonn glaonna chuig WizardView.done () \`\`anois \`\`form\_dict\` chun rochtain níos éasca a cheadú ar fhoirmeacha de réir a n-ainm céim.

#### [`django.contrib.gis`](/ga/5.2/ref/contrib/gis/#module-django.contrib.gis)

- Nuashonraíodh an leagan réamhshocraithe leabharlainne OpenLayers atá san áireamh i giuirléidí ó 2.11 go 2.13.
- Tacaíonn geoiméadraí ullmhaithe anois leis na réamhtheacháin ``crosses`, `disjunt``, overlaps\`, touches\` agus laistigh de , má tá GEOS 3.3 nó níos déanaí suiteáilte.

#### [`django.contrib.messages`](/ga/5.2/ref/contrib/messages/#module-django.contrib.messages)

- Leanfaidh na cúltaca le haghaidh: mod: django.contrib.messages a úsáideann fianáin, anois socruithe: :setting: SESSION\_COOKIE\_SECURE agus:setting: SESSION\_COOKIE\_HTTPONLY.
- Cuireann an:ref: próiseálaí comhthéacs teachtaireachtaí \<message-displaying\>\`foclóir leibhéil réamhshocraithe anois faoin ainm \`\`DEFAULT\_MESSAGE\_LEVELS\`.
- [`Message`](/ga/5.2/ref/contrib/messages/#django.contrib.messages.Message) objects now have a `level_tag`
  attribute that contains the string representation of the message level.

#### [`django.contrib.redirects`](/ga/5.2/ref/contrib/redirects/#module-django.contrib.redirects)

- [`RedirectFallbackMiddleware`](/ga/5.2/ref/contrib/redirects/#django.contrib.redirects.middleware.RedirectFallbackMiddleware)
  has two new attributes
  ([`response_gone_class`](/ga/5.2/ref/contrib/redirects/#django.contrib.redirects.middleware.RedirectFallbackMiddleware.response_gone_class)
  and
  [`response_redirect_class`](/ga/5.2/ref/contrib/redirects/#django.contrib.redirects.middleware.RedirectFallbackMiddleware.response_redirect_class))
  that specify the types of [`HttpResponse`](/ga/5.2/ref/request-response/#django.http.HttpResponse) instances the
  middleware returns.

#### [`django.contrib.sessions`](/ga/5.2/topics/http/sessions/#module-django.contrib.sessions)

- Tá cúltaca seisiúin `"django.contrib.sessions.backends.cached_db"` meas anois:setting: SESSION\_CACHE\_ALIAS. I leaganacha roimhe seo, d'úsáid sé an taisce default\` i gcónaí.

#### [`django.contrib.sitemaps`](/ga/5.2/ref/contrib/sitemaps/#module-django.contrib.sitemaps)

- Úsáideann an creat:MOD: mapa láithreáin \<django.contrib.sitemaps\>\`anois ó:attr: \`~django.contrib.siteMaps.SiteMap.LastMod chun ceannteideal ``` `Last-Modified` a shocrú sa fhreagra. De bharr seo is féidir leis na:class: `~django.middleware.http.ConditionalGetMiddleware` iarratais choinníollacha ``GET ``` a láimhseáil ar léarscáileanna láithreáin a shocraíonn `lastmod`.

#### [`django.contrib.sites`](/ga/5.2/ref/contrib/sites/#module-django.contrib.sites)

- Ceadaíonn an nua:class: django.contrib.sites.middleware.currentsiteMiddleware an suíomh reatha a shocrú ar gach iarratas.

#### [`django.contrib.staticfiles`](/ga/5.2/ref/contrib/staticfiles/#module-django.contrib.staticfiles)

- Féad \<staticfiles-storages\>far ranganna stórála comhaid statacha: Ref: a fho-aicmiú chun na ceadanna a bhailíodh comhaid statacha agus eolairí a fhaigheann a shárú trí:attr: ~django.core.files.storage.filesystemstorage.fileSystemStorage.file\_permissions\_mode agus:attr: ~django.core.files.storage.directory\_permissions\_mode paraiméadair. Féach: DjaDmin: collectstatic mar shampla úsáid.
- Faigheann an cúltaca `CachedStaticFilesStorage` rang deartháireacha ar a dtugtar: ~django.contrib.staticfiles.storage.manifestStaticFilesStorage nach n-úsáideann an córas taisce ar chor ar bith ach ina ionad sin comhad JSON ar a dtugtar `staticfiles.json` chun an mapáil a stóráil idir ainm an chomhaid bunaidh (m.sh. css/styles.c ss\`\`) agus ainm an chomhaid hashed (m.sh. `css/styles.55e7cbb9ba48.css`). Cruthaítear an comhad `staticfiles.json` agus an t-ordú bainistíochta: djadmin: collectstatic á reáchtáil agus ba chóir go mbeadh sé ina rogha eile níos saoire do stórálaí iargúlta mar Amazon S3.

  Féach na docs:class: ~django.contrib.staticFiles.Storage.ManifestStaticFilesStorage docs le haghaidh tuilleadh faisnéise.
- : djadmin: Glacann findstatic anois le leibhéal bratach verbosity 2, rud a chiallaíonn go dtaispeánfaidh sé cosáin choibhneasta na n-eolairí a chuardaigh sé. Féach: djaDmin: findstatic mar aschur mar shampla.

#### [`django.contrib.syndication`](/ga/5.2/ref/contrib/syndication/#module-django.contrib.syndication)

- Úsáideann eilimint `updated` fotha sindiciúcháin an:class: ~django.utils.feedgenerator.atom1feed anois `updateddate` in ionad `pubdate`, ag ligean an eilimint ```foilsithe ``a chur san áireamh sa bheatha (atá ag brath ar ``pubdate```).

#### Cache

- Tá rochtain ar chaches cumraithe in:setting: CACHES ar fáil anois trí:data: django.core.cache.caches. Soláthraíonn an réad cosúil le dict seo sampla difriúil in aghaidh an snáithe. Cuireann sé in ionad django.core.cache.get\_cache () atá díluachtaithe anois.
- Má chuireann tú cúltaca taisce isteach go díreach, bí ar an eolas nach bhfuil siad sábháilte ó shnáithe níos mó, mar: data: django.core.cache.caches tagann cásanna difriúla in aghaidh an snáithe anois.
- Ag sainmhí \<CACHES-TIMEOUT\>niú argóint:setting: TIMEOUT \`den socrú: \`CACHES mar `None` socraítear na heochracha taisce mar “neamh-éag” de réir réamhshocraithe. Roimhe seo, ní raibh sé indéanta ach `timeout = none` a chur chuig modh set () cúltaca taisce.

#### Falsaíocht Iarratas Tras-Láithreáin

- Éascaíonn an socrú: SETTING: CSRF\_COOKIE\_AGE úsáid fianáin CSRF bunaithe ar sheisiún.

#### Ríomhphost

- [`send_mail()`](/ga/5.2/topics/email/#django.core.mail.send_mail) now accepts an `html_message`
  parameter for sending a multipart `text/plain` and
  `text/html` email.
- Glacann an SMTP: Class: ~django.core.mail.backends.smtp.emailBackend le paraiméadar `timeout` anois.

#### Stóráil Comhad

- Bhí glasáil comhad ar Windows ag brath roimhe seo ar an bpacáiste PyWin32; mura raibh sé suiteáilte, theip ar ghlasáil comhaid go ciúin. Tá an spleáchas sin bainte, agus cuirtear glasáil comhad i bhfeidhm go dúchasach anois ar Windows agus Unix araon.

#### Uaslódálacha Comhad

- Tá paraiméadair bhreise sa tréith nua:attr: uploadedfile.content\_type\_extra \<django.core.files.uploadedfile.UploadedFile.content\_type\_extra\>\`a chuirtear chuig an gceannteideal \`\`content-type\` ar uaslódáil comhad.
- Rialaíonn an socrú nua:setting: FILE\_UPLOAD\_DIRECTORY\_PERMISSIONS ceadanna córais chomhaid eolairí a cruthaíodh le linn uaslódála comhaid, cosúil:setting: FILE\_UPLOAD\_PERMISSIONS a dhéanann do na comhaid féin.
- \<django.db.models.FileField.upload\_to\>Tá an tréith: Attr: FileField.upload\_to roghnach anois. Má fhágann nó má thugtar None nó teaghrán folamh é, ní úsáidfear fo-eolaire chun na comhaid uaslódáilte a stóráil.
- Dúntar comhaid uaslódáilte go sainráite anois sula seachadtar an freagra don chliant. Dúntar comhaid uaslódáilte go páirteach chomh fada agus a ainmnítear “comhad” orthu sa láimhseálaí uaslódála.
- [`Storage.get_available_name()`](/ga/5.2/ref/files/storage/#django.core.files.storage.Storage.get_available_name) now appends an
  underscore plus a random 7 character alphanumeric string (e.g.
  `"_x3a1gho"`), rather than iterating through an underscore followed by a
  number (e.g. `"_1"`, `"_2"`, etc.) to prevent a denial-of-service attack.
  This change was also made in the 1.6.6, 1.5.9, and 1.4.14 security releases.

#### Foirmeacha

- Cuimsíonn na clibeanna `<label>` agus \`\` a rinneadh ag: class: \<input\>~django.forms.RadioSelect agus:class: ~django.forms.checkboxSelectMultiple agus iad ag lúbsáil thar na cnaipí raidió nó na boscaí seiceála anois tréithe `for` agus id\`, faoi seach. Cuimsíonn gach cnaipe raidió nó bosca seiceála tréith `id_for_label` chun aitheantas an eilimint a aschur.
- Cuimsíonn na clibeanna \<textarea\>\`\`\`a rinneadh ag:class: ~django.forms.textarea tréith `maxlength` anois má tá réimse samhail max\_\`long\` ag an réimse samhail: :class: ~django.db.Models.textField.
- [`Field.choices`](/ga/5.2/ref/models/fields/#django.db.models.Field.choices) now allows you to
  customize the "empty choice" label by including a tuple with an empty string
  or `None` for the key and the custom label as the value. The default blank
  option `"----------"` will be omitted in this case.
- [`MultiValueField`](/ga/5.2/ref/forms/fields/#django.forms.MultiValueField) allows optional subfields by setting
  the `require_all_fields` argument to `False`. The `required` attribute
  for each individual field will be respected, and a new `incomplete`
  validation error will be raised when any required fields are empty.
- Ní gá don modh: Meth: ~django.forms.form.clean ar fhoirm `self.cleaned_data` a thabhairt ar ais a thuilleadh. Má thugann sé foclóir athraithe ar ais ansin úsáidfear é fós.
- Tar éis aischéimniú sealadach i Django 1.6, is féidir anois: class: ~django.forms.TypedChoiceField `coerce` modh luach treallach a thabhairt ar ais.
- [`SelectDateWidget.months`](/ga/5.2/ref/forms/widgets/#django.forms.SelectDateWidget.months) can be used to
  customize the wording of the months displayed in the select widget.
- Cuireadh na paraiméadair `min_num` agus `validate_min` la:func: ~django.forms.formsets.formset\_factory chun líon íosta foirmeacha curtha isteach a bhailíochtú.
- Rinneadh na meiteachlasanna a úsáideann `Form` agus ModelForm \`\`athoibriú chun tacú le níos mó cásanna oidhreachta. Baineadh an teorannú roimhe seo a chuir cosc ar oidhreacht ó \`\`Form\` agus ModelForm\` araon ag an am céanna chomh fada agus a fheictear `ModelForm` ar dtús sa MRO.
- Is féidir anois réimse a bhaint as ```Foirm ``agus tú ag fo-aicmiú tríd an ainm a shocrú go ``None```.
- Is féidir anois na teachtaireachtaí earráide a shaincheapadh le haghaidh srianta `` `unique ``, unique\_for\_date\`, agus ``` `unique_together ``ModelForm ```. D'fhonn tacú le `unique_together` nó aon `NON_FIELD_ERROR` eile, féachann `Modelform` anois an eochair `NON_FIELD_ERROR` sa fhoclóir `error_messages` de rang Meta\` istigh `ModelForm`. \<considerations-regarding-model-errormessages\>Féach:ref: breithnithe maidir le earr\_messages an tsamhail le haghaidh tuilleadh sonraí.

#### Idirnáisiúnú

- Ceadaíonn an tréith: Attr: Django.middleware.locale.localeMiddleware.RESPONSE\_REDIRECT\_CLASS duit na hathreoruithe arna eisiúint ag an middleware a shaincheapadh.
- Stórálann an:class: ~django.middleware.locale.localeMiddleware teanga roghnaithe an úsáideora anois leis an eochair seisiúin `_language`. Níor cheart rochtain a fháil air seo ach ag baint úsáide as an tairiseach `LANGUAGE_SESSION_KEY`. Roimhe seo stóráilíodh é leis an eochair django\_language\` agus ní raibh an tairiseach `LANGUAGE_SESSION_KEY` ann, ach ba chóir go dtosódh eochracha atá curtha in áirithe do Django le béim. Maidir le comhoiriúnacht ar chúl léitear `django_language` fós ó in 1.7. Aimirfear na seisiúin chuig an eochair nua de réir mar a bheidh siad scríofa.
- Tacaíonn an clibe:ttag: blocktrans anois le rogha ```trimmed`. Bainfidh an rogha seo carachtair líne nua ó thús agus deireadh ábhair an chlib ``{% blocktrans%} `, cuirfidh sé in ionad aon spás bán ag tús agus deireadh líne agus cumasc na líne go léir i gceann amháin ag baint úsáide as carachtar spáis chun iad a scaradh. Tá sé seo úsáideach go leor chun ábhar chlib ``{% blocktrans%}``` a iontráil gan na carachtair iontrála a bheith ag críochnú san iontráil chomhfhreagrach sa chomhad .po\`, rud a fhágann go bhfuil an próiseas aistriúcháin níos éasca.
- Nuair a rith tú: djadmin: makemessages ó eolaire fréimhe do thionscadail, dáilfear aon teaghráin bainte go huathoibríoch anois chuig an aip ceart nó ar chomhad teachtaireachta tionscadail. Féach: Ref: conas-chomhaid teanga a chruthaithe' le haghaidh sonraí.
- Cuireann an t-ordú: DjaDmin: makemessages anois an bhratach líne ordaithe ```--roimhe ``i gcónaí leis an ordú ``msgmerge```, ag coinneáil teaghráin aistrithe roimhe seo i gcomhaid `.po` le haghaidh teaghráin doiléir.
- Tugadh isteach na socruithe seo a leanas chun na roghanna fianán teanga a choigeartú: :setting: LANGUAGE\_COOKIE\_AGE, :setting: LANGUAGE\_COOKIE\_DOMAIN agus:setting: LANGUAGE\_COOKIE\_PATH.
- Cuireadh leis: doc: /topics/i18n/foirmiúcháin don Esperanto.

#### Orduithe Bainistíochta

- Déanann an rogha nua:rogha: --no-color le haghaidh django-admin dathú aschur ordaithe bainistíochta a dhíchumasú.
- Ceadaíonn na roghanna nua:option: dumpdata --natural-foreign agus:option: dumpdata --natural-primary, agus na hargóintí nua `use_natural_foreign_keys` agus use\_natural\_primary\_keys\` le haghaidh serializers.serialize () \`, eochracha príomhúil nádúrtha a úsáid agus iad ag sraith.
- Ní gá a thuilleadh ainm an tábla taisce nó an rogha --database\` a sholáthar don ordú:djadmin: createcachetable. Tógann Django an fhaisnéis seo ó do chomhad socruithe. Má tá iliomad caches nó bunachair sonraí iolracha cumraithe agat, cruthaítear gach tábla taisce.
- Fuair an t-ordú: Djadmin: runserver roinnt feabhsúcháin:

  - Ar chórais Linux, má tá [pyinotify](https://pypi.org/project/pyinotify/) suiteáilte, athlódálfar an freastalaí forbartha láithreach nuair a athraítear comhad. Roimhe seo, rinne sé vótaíocht ar an gcóras comhad le haghaidh athruithe gach soicind. Ba chúis leis sin moill bheag roimh athlódáil agus saol ceallraí laghdaithe ar ríomhairí glúine.
  - Ina theannta sin, athlódálann an freastalaí forbartha go huathoibríoch nuair a dhéantar comhad aistriúcháin a nuashonrú, i.e. tar éis rith: djadmin: compilemessages.
  - Tá gach iarratas HTTP logáilte chuig an gconsól, lena n-áirítear iarratais ar chomhaid statacha nó “favicon.ico” a bhíodh scagadh amach.
- Is féidir le horduithe bainistíochta aschur daite comhréire a tháirgeadh anois faoi Windows má tá uirlis tríú páirtí ANSICON suiteáilte agus gníomhach.
- [`collectstatic`](/ga/5.2/ref/contrib/staticfiles/#django-admin-collectstatic) command with symlink option is now supported on
  Windows NT 6 (Windows Vista and newer).
- Oibríonn sonraí tosaigh SQL anois má tá leabharlann Python: pypi: sqlparse suiteáilte.

  Tabhair faoi deara go bhfuil sé dlús i bhfabhar oibriú imirce:class: ~django.db.migrations.operations.runsql, a bhaineann leas as an iompar feabhsaithe.

#### Samhla

- \<django.db.models.query.QuerySet.update\_or\_create\>Cuireadh an modh: Meth: QuerySet.UPDATE\_OR\_CREATE () leis.
- Ligeann an rogha múnla nua:attr: ~django.db.models.options.default\_permissions Meta\` duit cruthú na ceadanna réamhshocraithe a chur leis, a athrú agus a scriosadh a shaincheapadh (nó a dhíchumasú).
- Faightear Explicit:class: ~django.db.models.onetoonefield for:ref: multi-table-heritance anois i ranganna teibí.
- Is féidir anois caidreamh cúil a chruthú do:class: ~django.db.models.onetoonefield a sheachaint trí:attr: ~django.db.models.foreignkey.related\_name a shocrú go `'+'` nó é a chríochnú le `'+'`.
- [`F expressions`](/ga/5.2/ref/models/expressions/#django.db.models.F) support the power operator
  (`**`).
- Glacann modhanna ```remove () ``agus `clear ()``` na mbainisteoirí gaolmhara a chruthaigh `ForeignKey` agus `GenericForeignKey` anois leis an argóint eochairfhocal `bulk` chun rialú a dhéanamh cibé acu oibríochtaí a dhéanamh ar an mórchóir (ie ag baint úsáide as ```QuerySet.Update () `). Réamhshocraithe go ``True```.
- Is féidir anois `None` a úsáid mar luach fiosrúcháin don chuardach:lookup: iexact.
- Is féidir anois glaoch a chur ar aghaidh mar luach don tréith: attr: ~Django.db.Models.ForeignKey.LIMIT\_CHOICES\_TO agus `ForeignKey` nó `ManyTomanyField` á shainiú.
- Ardaíonn glaoch: Meth: only () \<django.db.models.query.QuerySet.only\>\`agus:meth: \`defer () \<django.db.models.query.QuerySet.defer\>ar thoradh: meth: QuerySet.Values () earráid anois (roimh sin, bheadh earráid bunachar sonraí \<django.db.models.query.QuerySet.values\>nó sonraí míchearta mar thoradh air).
- Is féidir leat liosta amháin a úsáid le haghaidh index\_together (seachas liosta liostaí) agus sraith amháin réimsí á shonrú agat.
- \<django.db.models.ManyToManyField.through\_fields\>Ceadaítear samhlacha idirmheánacha saincheaptha a bhfuil níos mó ná eochair eachtrach amháin acu d'aon cheann de na samhlacha atá rannpháirteach i gcaidreamh go leor anois, ar choinníoll go sonraíonn tú go sainráite cé na heochracha eachtracha ba chóir a úsáid tríd an argóint nua:attr: ManyTomanyField.through\_fields a shocrú.
- Déanfar earráid anois a shannadh samhail samhail a shannadh do réimse neamhghaolmhar. Roimhe seo bhí sé seo ag obair má ghlac an réimse le sláimhreacha mar ionchur mar a ghlac sé an príomh-eochair.
- \<django.db.models.Field.get\_internal\_type\>Tá réimsí sláireach bailíochtaithe anois i gcoinne luachanna min agus uasta sonracha cúltaca bunachar sonraí bunaithe ar a gcuid: meth: internal\_type . Níor chuir bailíochtú réimse samhail roimhe seo cosc ar luachanna as a raon cineálacha sonraí colún gaolmhar a shábháil mar thoradh ar earráid sláine.
- Is féidir anois réimse gaolmhar `_id` a chur in iúl go soiléirí:meth: ~django.db.models.query.queryset.order\_by trí a ainm tréithe a úsáid.

#### Comharthaí

- Cuireadh an argóint enter \`\`leis an gcomhartha: data: \`~django.test.signals.setting\_changed.
- Is féidir na comharthaí samhail a nascadh anois le `str` den fhoirm App\_Label.ModelName'\` a úsáid - díreach cosúil le réimsí gaolmhara - chun tagairt a thabhairt dá gcuid seoltóirí go leisciúil.

#### Teimpléid

- \<django.template.Context.pop\>Tugann an modh: Meth: Context.push () \<django.template.Context.push\>\`bainisteoir comhthéacs ar ais anois a ghlaonn: meth: \`pop () go huathoibríoch nuair a fhágann sé an ráiteas ```with`. Ina theann <django.template.Context.push>ta sin, glacann: meth: `push () `anois le paraiméadair a chuirtear chuig an tógálaí ``dict``` a úsáidtear chun an leibhéal comhthéacs nua a thógáil.
- Tugann an modh nua:meth: Context.flatten () \<django.template.Context.flatten\>\`cruach \`\`Context\` ar ais mar fhoclóir comhréidh amháin.
- Is féidir rudaí Context\` a chur i gcomparáid anois le haghaidh comhionannais (go hinmheánach, úsáideann sé seo: meth: Context.flatten () \<django.template.Context.flatten\>\`mar sin ní cuma struchtúr inmheánach gach cruach \`\`Context\` chomh fada agus a leagan comhréadaithe comhionann).
- Glacann an chlib teimpléad: ttag: widthratio anois le paraiméadar `` `as" `` chun an toradh a ghabháil in athróg.
- Glacfaidh an clib teimpléad:ttag: include anois le haon rud a bhfuil modh render () \`\`(mar shampla \`\`Teimpléad\`) mar argóint. Breathnófar argóintí teaghráin ag baint úsáide as: func: ~django.template.loader.get\_template mar i gcónaí.
- Is féidir anois teimpléid: ttag: include athshlánach.
- Tá tréith tionscnaimh socraithe ag rudaí teimpléad anois nuair is é ```TEMPLATE_DEBUG` ``True```. Ligeann sé seo bunús teimpléid a iniúchadh agus a logáil lasmuigh den bhonneagar django.template\`.
- Ní dhéantar eisceachtaí TypeError a thostú a thuilleadh nuair a ardaítear iad le linn rindreáil teimpléad.
- Glacann na feidhmeanna seo a leanas anois le paraiméadar `dirs` atá ina liosta nó tuple chun `TEMPLATE_DIRS` a shárú:

  - [`django.template.loader.get_template()`](/ga/5.2/topics/templates/#django.template.loader.get_template)
  - [`django.template.loader.select_template()`](/ga/5.2/topics/templates/#django.template.loader.select_template)
  - [`django.shortcuts.render()`](/ga/5.2/topics/http/shortcuts/#django.shortcuts.render)
  - django.shortcuts.render\_to\_response () \`\`
- \<naive\_vs\_aware\_datetimes\>Glacann an scagair:TFilter: time anois le sonraitheoirí ama a bhaineann le crios ama:ref: formáid \`\`\`\`\`\`\`,\`\`\`\`\`\`\`, `````` `````agus ``Z <date-and-time-formatting-specifiers>'``agus tá sé in ann cásanna a dhíleá:ref: `time-chrione-aware` `datetime `````` cásanna a bhfuil súil leis.
- Déanfaidh an clibe:ttag: cache iarracht anois an taisce ar a dtugtar “template\_fragments” a úsáid má tá sé ann agus tiocfaidh sé ar ais chun an taisce réamhshocraithe a úsáid ar mhalairt eile. Glacann sé anois le argóint eochairfhocal roghnach úsáid chun rialú a dhéanamh ar an taisce a úsáideann sé.
- Cuireann an scagaire nua:tfilter: truncatechars\_html teaghrán a bhaint amach nach bhfuil níos faide ná an líon sonraithe carachtair, ag cur HTML san áireamh.

#### Iarrataí agus Freagraí

- Sonraíonn an tréith nua:attr: HttpRequest.scheme \<django.http.HttpRequest.scheme\>\`scéim an iarratais (\`\`http\` nó `https` de ghnáth).
- Tacaíonn an gearrgearrth:func: redirect () \<django.shortcuts.redirect\>\`anois le URLanna coibhneasta.
- Cuidíonn an fo-aicme nua:class: ~django.http.JSONResponse de:class: ~Django.http.HttpResponse le freagraí ionchódaithe JSON a chruthú go héasca.

#### Tástálacha

- [`DiscoverRunner`](/ga/5.2/topics/testing/advanced/#django.test.runner.DiscoverRunner) has two new attributes,
  [`test_suite`](/ga/5.2/topics/testing/advanced/#django.test.runner.DiscoverRunner.test_suite) and
  [`test_runner`](/ga/5.2/topics/testing/advanced/#django.test.runner.DiscoverRunner.test_runner), which facilitate
  overriding the way tests are collected and run.
- Cuireadh an argóint `fetch_redirect_response` la:meth: ~django.test.simpletestcase.assertDirects. Ós rud é nach féidir leis an gcliant tástála URLanna seachtracha a fháil, tugann sé seo deis duit AssertreDirects\` a úsáid le hathreoruithe nach bhfuil mar chuid de d'aip Django.
- Láimhseáil cheart na scéime agus comparáidí á dhéanamh in:meth: ~django.test.simpletestCase.assertDirects.
- Cuireadh an argóint secure\` leis na modhanna iarratais uile de:class: ~django.test.client. Má tá “Fíor”, déanfar an t-iarratas trí HTTPS.
- [`assertNumQueries()`](/ga/5.2/topics/testing/tools/#django.test.TransactionTestCase.assertNumQueries) now prints
  out the list of executed queries if the assertion fails.
- Tá an cás `WSGIrequest` a ghineann an láimhseálaí tástála ceangailte anois leis an tréith: attr: Django.Test.Response.wsgi\_request.
- \<DATABASE-TEST\>Bailíodh na socruithe bunachar sonraí le haghaidh tástála isteach i bhfoclóir darb ainmne:setting: TEST .

#### Fóntais

- Feabhsaithe:func: ~django.utils.html.strip\_tags cruinneas (ach ní féidir leis toradh sábháilte HTML a ráthú fós, mar a luaitear sa doiciméadú).

#### Bailíochtóirí

- [`RegexValidator`](/ga/5.2/ref/validators/#django.core.validators.RegexValidator) now accepts the optional
  [`flags`](/ga/5.2/ref/validators/#django.core.validators.RegexValidator.flags) and
  Boolean [`inverse_match`](/ga/5.2/ref/validators/#django.core.validators.RegexValidator.inverse_match) arguments.
  The [`inverse_match`](/ga/5.2/ref/validators/#django.core.validators.RegexValidator.inverse_match) attribute
  determines if the [`ValidationError`](/ga/5.2/ref/exceptions/#django.core.exceptions.ValidationError) should
  be raised when the regular expression pattern matches (`True`) or does not
  match (`False`, by default) the provided `value`. The
  [`flags`](/ga/5.2/ref/validators/#django.core.validators.RegexValidator.flags) attribute sets the flags
  used when compiling a regular expression string.
- [`URLValidator`](/ga/5.2/ref/validators/#django.core.validators.URLValidator) now accepts an optional
  `schemes` argument which allows customization of the accepted URI schemes
  (instead of the defaults `http(s)` and `ftp(s)`).
- [`validate_email()`](/ga/5.2/ref/validators/#django.core.validators.validate_email) now accepts addresses with
  IPv6 literals, like `example@[2001:db8::1]`, as specified in RFC 5321.

## Athruithe neamh-chomhoiriúnacha ar ais i 1.7

> **Warning**
>
> \<deprecation-removed-in-1.7\>Chomh maith leis na hathruithe a leagtar amach sa chuid seo, déan cinnte athbhreithniú a dhéanamh ar an:ref: plean díréachtaithe le haghaidh aon ghnéithe a baineadh. Mura ndearna tú do chód a nuashonrú laistigh den amlíne díscoilte do ghné ar leith, d'fhéadfadh go mbeadh sé a bhaint mar athrú neamh-chomhoiriúnach ar chúl.

### `allow_syncdb`/`allow_migrate`

Cé go bhféachfaidh Django fós ar mhodhanna allow\_syncdb\` cé gur chóir iad a athainmniú go allow\_migrate\`, tá difríocht caolchúiseach ann inar chuirtear samhlacha chuig na modhanna seo.

Maidir le feidhmchláir le himirce, gheobhaidh allow\_migrate\` pas anois:ref: samhlacha stairiúla \`, ar samhlacha leaganacha speisialta iad gan tréithe\<historical-models\>, modhanna nó bainisteoirí saincheaptha. Déan cinnte nach bhfuil do mhodhanna \`allow\_migrate\` ag tagairt ach do réimsí nó do mhíreanna eile sa samhail. \_meta\`.

### sonraí tosaigh

Ní luchtálfaidh aipeanna le himirce daingneáin ```initial_data` nuair a bheidh imirce críochnaithe acu. Leanfaidh aipeanna gan imirce ag luchtú na daingneáin seo le linn na céime ``imirce``` a dhéanann aithris ar an sean-iompar syncdb\`, ach ní bheidh an tacaíocht seo ag aon aipeanna nua.

Ina áit sin, moltar duit sonraí tosaigh a luchtú in imirce má theastaíonn uait (ag baint úsáide as an oibríocht `RunPython` agus do ranganna samhail); tá an buntáiste breise aige seo nach mbeidh gá le do shonraí tosaigh a nuashonrú gach uair a athraíonn tú an scéim.

Ina theannta sin, cosúil leis an gcuid eile de sheanchód `syncdb` Django, cuireadh tús le `initial_data` síos an chosáin díghabhála agus bainfear é i Django 1.9.

### dífhoirmiú () agus inshraitheacht

Éilíonn Django anois go mbeidh gach rang Allamuigh agus gach ceann dá n-argóintí tógálaí inshraitheach. \<custom-field-deconstruct-method\>Má mhodhnóidh tú síniú an tógálaí i do Réimse saincheaptha ar bhealach ar bith, beidh ort modh déconstrúchtacht () \`a chur i bhfeidhm; tá an doiciméadú réimse saincheaptha leathnaithe againn le: ref: \`treoracha maidir leis an modh seo a chur i bhfeidhm.

Ci \<migration-serializing\>allaíonn an riachtanas go mbeadh gach argóint allamui:ref: serializable \`go gcaithfidh aon chásanna aicme saincheaptha a chuirtear chuig tógálaí Páirce - rudaí cosúil le fo-aicmí Stórála saincheaptha, mar shampla - a shainiú: \`modh dífhoirmithe orthu chomh maith\<custom-deconstruct-method\>, cé go soláthraíonn Django maisitheoir aicme áisiúil a oibreoidh don chuid is mó de na feidhmchláir.

### Athruithe luchtaithe aip

#### Seicheamh tosaithe

Luchtaíonn Django 1.7 cumraíochtaí agus samhlacha feidhmchláir a luaithe a thosaíonn sé. Cé go bhfuil an t-iompar seo níos simplí agus creidtear go bhfuil sé níos láidre, ní féidir aischéimnithe a chur in iúl. Féach: tagairt: iarratais-fabhtcheartú 'le haghaidh réitigh ar roinnt fadhbanna a d'fhéadfadh a bheith agat.

#### Scripteanna neamhspleácha

Má tá Django á úsáid agat i script Python simplí - seachas ordú bainistíochta - agus má tá tú ag brath ar an athróg comhshaoil: envvar: DJANGO\_SETTINGS\_MODULE, ní mór duit Django a thionscnamh go sainráite anois ag tús do script le:

```pycon
>>> import django
>>> django.setup()
```

Seachas sin, buailfidh tú eisceacht AppregistryNotready\`.

#### Scripteanna WSGI

Go dtí Django 1.3, ba é an bealach a mholtar chun feidhmchlár WSGI a chruthú ná:

```
import django.core.handlers.wsgi

application = django.core.handlers.wsgi.WSGIHandler()
```

I Django 1.4, feabhsaíodh tacaíocht do WSGI agus athraíodh an API go:

```
from django.core.wsgi import get_wsgi_application

application = get_wsgi_application()
```

Má tá tú fós ag úsáid an chéad stíl i do script WSGI, ní mór duit uasghrádú a dhéanamh go dtí an dara ceann, nó buailfidh tú eisceacht AppregistryNotready\`.

#### Comhsheasmhacht clárlainne aip

Ní féidir feidhmchláir iolracha suiteáilte a bheith agat leis an lipéad céanna a thuilleadh. I leaganacha roimhe seo de Django, níor oibrigh sé seo i gceart i gcónaí, ach níor thimpiste go díreach ach an oiread.

Má tá dhá aip agat a bhfuil an lipéad céanna orthu, ba cheart duit [`AppConfig`](/ga/5.2/ref/applications/#django.apps.AppConfig) a chruthú le haghaidh ceann amháin acu agus a  a shárú ann. Ba cheart duit do chód a choigeartú ansin cibé áit a ndéanann sé tagairt don fheidhmchlár seo nó dá mhúnlaí leis an seanlipéad.

Ní féidir an tsamhail chéanna a allmhairiú faoi dhó trí chosáin éagsúla a thuilleadh. Amhail Django 1.6, d'fhéadfadh sé seo tarlú ach amháin má tá tú ag cur eolaire agus fochomhadlann de láimh ar [`PYTHONPATH`](https://docs.python.org/3/using/cmdline.html#envvar-PYTHONPATH). Déan tagairt don rannán ar leagan amach nua an tionscadail sa [1.4 nótaí scaoilte](/ga/5.2/releases/1.4/) le haghaidh treoracha imirce.

Ba chóir duit a chinntiú go bhfuil:

- Sainmhínítear gach samhail in iarratais atá liostaithe in:setting: INSTALLED\_APPS nó a bhfuil sainmhíniú acu: attr: ~django.db.models.options.app\_label.
- Ní dhéantar samhlacha a allmhairiú mar fho-iarmhairt dá bhfeidhmchlár a luchtú. Go sonrach, níor cheart duit samhlacha a iompórtáil i modúl fréimhe feidhmchláir ná sa mhodúl a shainmhíníonn a rang cumraíochta.

Déanfaidh Django na ceanglais seo a fhorfheidhmiú amhail leagan 1.9, tar éis tréimhse díscrúdaithe.

#### Fo-aicmiú AppCommand

Caithfidh fo-aicmí de:class: ~django.core.management.appCommand modh a:meth: ~django.core.management.appCommand.handle\_app\_config a chur i bhfeidhm anois in ionad handle\_app () . Faigheann an modh seo sampla: class: ~django.apps.appconfig in ionad modúl samhlacha.

#### Feidhmchláir ionbhreathnú

Ós rud é go dtacaíonn: SETTING: INSTALLED\_APPS le ranganna cumraíochta feidhmchláir anois i dteannta le modúil feidhmchláir, ba cheart duit athbhreithniú a dhéanamh ar an gcód a fhaigheann rochtain ar an socrú seo go díreach agus clárlann an aipeanna a úsáid (:attr: django.apps) ina ionad.

Chaomhnaigh clárlann an aip roinnt gnéithe den tsean-taisce aip. Cé gur API príobháideach a bhí i taisce an aip, bainfear modhanna agus argóintí atá as feidhm trí chosán caighdeánach díghníomhaíochta, seachas na hathruithe seo a leanas a théann i bhfeidhm láithreach:

- Ardaíonn `get_model`: exc: LookuPerror in ionad `None` a thabhairt ar ais nuair nach bhfaightear aon mhúnla.
- Níl an argóint `only_installled` de get\_model\` agus `get_models` ann a thuilleadh, ná níl an argóint seed\_cache\` de get\_model \`\`get\_model\`.

### Orduithe bainistíochta agus ordú de:shocrú: INSTALLED\_APPS

Nuair a sholáthraíonn roinnt feidhmchlár orduithe bainistíochta leis an ainm céanna, lódálann Django an t-ordú ón bhfeidhmchlár a thagann den chéad uair i : socrú: INSTALLED\_APPS. Lódáil leaganacha roimhe seo an t-ordú ón bhfeidhmchlár a tháinig go deireanach.

Tugann sé seo fionnachtain ar orduithe bainistíochta i gcomhréir le codanna eile de Django atá ag brath ar an ord de:setting: INSTALLED\_APPS, mar shampla comhaid statacha, teimpléid agus aistriúcháin.

### Tógálaí agus stóráil inmheánach `ValidationError`

Tá athrú tagtha ar iompar an tógálaí ValidationError\` nuair a fhaigheann sé coimeádán earráidí mar argóint (m.sh. liosta\` nó `Liosta` Error\`\`):

- Athraíonn sé aon teaghráin a aimsíonn sé go cásanna de `ValidationError` sula gcuireann sé iad lena stóráil inmheánach.
- Ní stóráilíonn sé an coimeádán ar leith ach cóipeálann sé a ábhar chuig a stóráil inmheánach féin; roimhe seo cuireadh an coimeádán féin leis an gcás “ValidationError” agus úsáideadh é mar stóráil inmheánach.

Ciallaíonn sé seo má rochtain agat ar na stórálaí inmheánacha `ValidationError`, mar shampla `error_list`; error\_dict\`; nó luach tuairisceáin ```update_error_dict () ``, d'fhéadfá cásanna ``validationError``` a fháil ina bhfaighidh tú teaghráin roimhe seo.

Chomh maith leis sin má shannaigh tú luach tuairisceáin ```update_error_dict () ``go díreach chuig ``Foirm. Féadfaidh tú cásanna ``liosta``` a chur leis go neamhthuiscint ina bhfuiltear ag súil le cásanna `` `ErrorList ``. Is fadhb í seo mar murab ionann agus `liosta` simplí, tá a fhios ag `ErrorLiost` conas cásanna de `ValidationError` a láimhseáil.

\<django.forms.Form.add\_error () \>Tá an chuid is mó de na cásanna úsáide a thug ráthas úsáid na APIs príobháideacha seo clúdaithe anois leis an modh nua:meth: Form.add\_error ():

```
# Old pattern:
try:
    ...
except ValidationError as e:
    self._errors = e.update_error_dict(self._errors)

# New pattern:
try:
    ...
except ValidationError as e:
    self.add_error(None, e)
```

Má theastaíonn comhoiriúnacht Django \<= 1.6 agus 1.7 uait \<django.forms.Form.add\_error () \> ní féidir leat a úsáid:meth: Form.add\_error (:D) ós rud é nach raibh sé ar fáil roimh Django 1.7, ach is féidir leat an réiteach seo a leanas a úsáid chun aon \`\`liosta \`\`a thiontú go \`\`Liosta Error\`:

```
try:
    ...
except ValidationError as e:
    self._errors = e.update_error_dict(self._errors)

# Additional code to ensure ``ErrorDict`` is exclusively
# composed of ``ErrorList`` instances.
for field, error_list in self._errors.items():
    if not isinstance(error_list, self.error_class):
        self._errors[field] = self.error_class(error_list)
```

### Iompar `Locmemcache` maidir le hearráidí picéil

Bhí neamhréireacht ann i leaganacha roimhe seo de Django maidir leis an gcaoi a láimhseálann cúltaca taisce éagsúla earráidí picéar. D'úsáid `django.core.cache.backends.locmem.locmemcache` a theipeann go ciúin nuair a tharlaíonn earráid den sórt sin, rud atá míchomhsheasmhach le cúltaca eile agus mar thoradh air earráidí cache-shonracha. Socraíodh é seo i Django 1.7, féach: ticéad: 21200 le haghaidh tuilleadh sonraí.

### Gintear eochracha taisce anois ó URL iomlán an iarratais

Gin leaganacha roimhe seo d'eochracha taisce Django ag baint úsáide as cosán iarratais agus sreang ceisteanna ach ní an scéim nó an óstach. Dá mbeadh feidhmchlár Django ag freastal ar iolrchuid fofhearann nó fearainn, d'fhéadfadh eochracha taisce imbhualadh I Django 1.7, athraíonn eochracha taisce de réir URL iomlán na hiarratais lena n-áirítear scéim, óstach, cosán agus sreang fiosrúcháin. Mar shampla, gintear an chuid URL d'eochair taisce anois ó `https://www.example.com/path/to/?key=val` seachas /path/to/? eochair = val \`. Beidh na heochracha taisce a ghineann Django 1.7 difriúil ó na heochracha a ghineann leaganacha níos sine de Django. Tar éis uasghrádú a dhéanamh go Django 1.7, is é an chéad iarratas ar aon URL a chóstáiltear roimhe seo ná cailleadh taisce.

### Ag dul `None` chuig Manager.db\_Manager () \`\`

I leaganacha roimhe seo de Django, bhí sé indéanta db\_manager (Using = None) a úsáid ar shampla bainisteora samhail chun sampla bainisteora a fháil ag baint úsáide as iompar ródaithe réamhshocraithe, ag dul i bhfeidhm ar aon ródú bunachar sonraí sonraithe de láimh. I Django 1.7, táirgfidh luach None a chuirtear chuig db\_manager ródaire a choinníon\* aon ródú bunachar sonraí sannta de láimh - ní athshocrófar an bainisteoir\*. Bhí sé seo riachtanach chun neamhréireacht a réiteach ar an mbealach a chuaigh faisnéis ródaithe thar chomhpháirtithe. Féach: ticéad: 13724 le haghaidh tuilleadh sonraí.

### D'fhéadfadh go mbeadh gá le `pytz`

Má láimhseálann do thionscadal amanna dáta roimh 1970 nó tar éis 2037 agus má ardaíonn Django a:exc: ValueError agus tú ag teacht ar aghaidh orthu, beidh ort: pypi: pytz a shuiteáil. D'fhéadfadh go mbeadh tionchar ag an bhfadhb seo ort má úsáideann tú formáidí dáta a bhaineann le crios ama Django nó: mod: django.contrib.syndication.

### Modhanna ```bhaint () ``agus ``soiléir ()``` modhanna bainisteoirí gaolmhara

D'fhulaing roinnt saincheisteanna ar na modhanna ```remove () `agus ``clear () ``na mbainisteoirí gaolmhara a chruthaigh ``ForeignKey```, GenericForeignKey\`, agus `ManyTomanyField`. Rith roinnt oibríochtaí iolracha ceisteanna modhnaithe sonraí gan iad a fhilleadh in idirbheart, agus níor mheas roinnt oibríochtaí scagadh réamhshocraithe nuair a bhí sé i láthair (ie nuair a chuir an bainisteoir réamhshocraithe ar an tsamhail ghaolmhar saincheaptha get\_queryset () i bhfeidhm).

Le réiteach na gceisteanna tugadh isteach roinnt athruithe ar gcúl nach raibh comhoiriúnach:

- D'athraigh cur i bhfeidhm réamhshocraithe ```remove () ``do bhainisteoirí gaolmhara ``ForeignKey``` ó shraith glaonna `Model.save ()` chuig glao ```QuerySet.Update () ``amháin. Ciallaíonn an t-athrú nach seoltar comharthaí ``pre_save``` agus `post_save` níos mó. Is féidir leat an argóint eochairfhocal `Bulk=False` a úsáid chun filleadh ar an iompar roimhe seo.
- Déanann na modhanna ```remove () ``agus ``clear ()``` do bhainisteoirí gaolmhara `GenericForeignKey` mór-scriosadh anois. Ní ghlaofar an modh ```Model.delete () ``ar gach cás níos mó. Is féidir leat an argóint eochairfhocal ``Bulk=False``` a úsáid chun filleadh ar an iompar roimhe seo.
- Déanann na modhanna ```remove () ``agus ``clear ()``` do bhainisteoirí gaolmhara `ManyTomanyField` ceisteanna neadaithe nuair a bhíonn scagadh i gceist, rud a d'fhéadfadh a bheith ina cheist nó nach bhféadfadh a bheith ina cheist ag brath ar do bhunachar sonraí agus do chuid sonraí féin. Féach: Ref: an nóta seo \<nested-queries-performance\>\`le haghaidh tuilleadh sonraí.

### Straitéis atreoraithe logála isteach riaracháin

Go stairiúil, chuir suíomh riaracháin Django an t-iarratas ó úsáideoir neamhúdaraithe nó neamhfhíordheimhnithe go díreach chuig an radharc logála isteach, gan atreorú HTTP. I Django 1.7, d'athraigh an t-iompar seo chun cloí le sreabhadh oibre níos traidisiúnta ina n-atreorófar aon iarratas neamhúdaraithe chuig leathanach riaracháin (trí chód stádais HTTP 302) chuig an leathanach logála isteach, leis an paraiméadar next socraithe chuig an gcosán tagartha. Déanfar an t-úsáideoir a atreorú ansin tar éis logáil isteach rathúil.

Tabhair faoi deara freisin go bhfuil an fhoirm logála isteach riaracháin nuashonraithe ionas nach bhfuil an réimse `this_is_the_login_form` (nach úsáidtear anois) agus go bhfuil an cód `validationError` socraithe go dtí an eochair `invalid_login` níos rialta.

### Éilíonn select\_for\_update () idirbheart

Go stairiúil, d'fhéadfaí ceisteanna a úsáideann: meth: ~django.db.models.query.queryset.select\_for\_update () a fhorghníomhú i mód autocommit, lasmuigh d'idirbheart. Roimh Django 1.6, cheadaigh modh idirbhearta uathoibríoch Django é seo a úsáid chun taifid a ghlasáil go dtí an chéad oibríocht scríbhneoireachta eile. Thug Django 1.6 isteach autocommit ar leibhéal bunachar sonraí; ó shin i leith, cuireann forghníomhú i gcomhthéacs den sórt sin éifeacht select\_for\_update () i bhfolamh. Glactar leis, dá bhrí sin, gur earráid é anois agus ardaíonn sé eisceacht.

Rinneadh an t-athrú seo \<DATABASE-ATOMIC\_REQUESTS\>toisc gur féidir earráidí den sórt sin a bheith mar thoradh ar aip a bhfuil súil le hidirbhearta domhanda a áireamh (m.sh.: setting: ATOMIC\_REQUESTS \`socraithe go \`True\`), nó sean-iompar uathoibrithe Django, i dtionscadal a ritheann gan iad; agus ina bhreis, féadfaidh earráidí den sórt sin a léiriú mar fhabhtanna éillithe sonraí. Rinneadh é freisin i Django 1.6.3.

Féadfaidh an t-athrú seo a bheith ina chúis le teipeanna tástála má úsáideann tú select\_for\_update () i rang tástála atá ina fho-aicme de:class: ~django.test.transactionTestCase seachas: ~django.test.testcase seachas: ~django.test.testcase.

### Contrib middleware bainte ó réamhshocraithe `MIDDLEWARE_CLASSES`

Díscaoileadh an: Ref: app loading refactor \<app-loading-refactor-17-release-note\>\`as samhlacha ó aipeanna nach cuid den socrú: setting: \`INSTALLED\_APPS. Nocht sé seo neamhoiriúnacht idir an réamhshocraithe:setting: INSTALLED\_APPS agus `MIDDLEWARE_CLASSES` sna réamhshocraithe domhanda (`django.conf.global_settings`). Chun na socruithe seo a shioncronú agus rabhaidh dífhabhtaithe a chosc agus tú ag déanamh rudaí cosúil le feidhmchláir in-athúsáidte a thástáil le socruithe íosta, :class: ~django.contrib.auth.middleware.AuthenticationMiddleware, agus:class: ~django.contrib.messages.middleware Baineadh MessageMiddleware\` ó na réamhshocruithe. Cuirfear na ranganna seo san áireamh fós sna socruithe réamhshocraithe a ghineann: djadmin: startproject. Ní bheidh tionchar ag an athrú seo ar chuid is mó de na tionscadail ach mura raibh tú ag dearbhú roimhe seo an MIDDLEWARE\_CLASSES i do shuíomhanna tionscadail agus ag brath ar an réamhshocrú domhanda ba cheart duit a chinntiú go bhfuil na réamhshocruithe nua ag teacht le riachtanais do thionscadail. Ba chóir duit seiceáil freisin le haghaidh aon chód a fhaigheann rochtain ar `Django.conf.GLOBAL_settings.middleware_classes` go díreach.

### Ilghnéitheach

- Tá paraiméadar breise `content_type_extra` ag an modh:Meth: django.core.files.uploadhandler.fileUploadHandler.new\_file () \`. Má tá saincheap:class: \`~django.core.files.uploadhandler.fileUploadHandler agat a chuireann new\_file () i bhfeidhm, bí cinnte go nglacann sé leis an bparaiméadar nua seo.
- [`ModelFormSet`](/ga/5.2/topics/forms/modelforms/#django.forms.models.BaseModelFormSet)s no longer
  delete instances when `save(commit=False)` is called. See
  [`can_delete`](/ga/5.2/topics/forms/formsets/#django.forms.formsets.BaseFormSet.can_delete) for instructions on how
  to manually delete objects from deleted forms.
- Astaíonn daingneáin folamh ag luchtú `RuntimeWarning` seachas ardú: exc: ~Django.Core.Management.CommandError.
- [`django.contrib.staticfiles.views.serve()`](/ga/5.2/ref/contrib/staticfiles/#django.contrib.staticfiles.views.serve) will now raise an
  [`Http404`](/ga/5.2/topics/http/views/#django.http.Http404) exception instead of
  [`ImproperlyConfigured`](/ga/5.2/ref/exceptions/#django.core.exceptions.ImproperlyConfigured) when [`DEBUG`](/ga/5.2/ref/settings/#std-setting-DEBUG)
  is `False`. This change removes the need to conditionally add the view to
  your root URLconf, which in turn makes it safe to reverse by name. It also
  removes the ability for visitors to generate spurious HTTP 500 errors by
  requesting static files that don't exist or haven't been collected yet.
- Sainmhínítear an modh [`django.db.models.Model.__eq__()`](/ga/5.2/ref/models/instances/#django.db.models.Model.__eq__) anois ar bhealach ina mbreathnaítear ar chásanna de shamhail seachfhreastalaí agus a bhunsamhail nuair a mheaitseálann eochracha príomhúla. Roimhe seo níor measadh go raibh ach cásanna den aicme chéanna cruinn cothrom ar eochairmheaitseáil na bunscoile.
- An: Meth: Django.DB.Models.Model. Tá modh \_\_eq\_\_ athraithe ionas nach measfar dhá chás Samhail gan príomhluachanna comhionann (mura bhfuil siad an cás céanna).
- An: Meth: Django.DB.Models.Model. Ardóidh modh \_\_hash\_\_ TypeError\` anois nuair a ghlaonn sé ar chás gan príomhluach eochair. Déantar é seo chun luachanna `__hash__` inathraithe i gcoimeádáin a sheachaint.
- [`AutoField`](/ga/5.2/ref/models/fields/#django.db.models.AutoField) columns in SQLite databases will now be
  created using the `AUTOINCREMENT` option, which guarantees monotonic
  increments. This will cause primary key numbering behavior to change on
  SQLite, becoming consistent with most other SQL databases. This will only
  apply to newly created tables. If you have a database created with an older
  version of Django, you will need to migrate it to take advantage of this
  feature. For example, you could do the following:

  1. Úsáid:djaDmin: dumpdata chun do chuid sonraí a shábháil.
  2. Athainmnigh an comhad bunachar sonraí atá ann cheana (coinnigh mar chúltaca é).
  3. Run:djaDmin: imirce chun an scéim nuashonraithe a chruthú.
  4. Úsáid: DjaDmin: loaddata chun na daingneáin a onnmhairigh tú iontu iontu a iompórtáil (1).
- `Django.Contrib.Auth.Models.AbstractUser` ní shainmhíníonn a:meth a thuilleadh: ~django.db.models.model.get\_absolute\_url () \`modh. D'fhill an sean-sainmhíniú \`” /users/%s/”% urlquote (self.username)\`\` a bhí treallach ós rud é go bhféadfadh feidhmchláir url den sórt sin a shainiú in urlpatterns\` nó nach bhféadfadh iarratais. Sainmhínigh modh get\_absolute\_url () ar do réad úsáideora saincheaptha féin nó úsáide:setting: ABSOLUTE\_URL\_OVERRIDES más mian leat URL d'úsáideoir.
- Tá feidhmiúlacht statach ag freastal sócmhainní an ranga:class: django.test.liveservertestcase simplithe: Anois níl sé in ann ach ábhar atá i láthair cheana féin a sheirbheáil in:setting: STATIC\_ROOT nuair a reáchtáiltear tástálacha. Tá an cumas chun na sócmhainní statacha go léir a sheirbheáil go trédhearcach (cosú \<DEBUG\>il leis an méid a fhaigheann duine leis: socrú: DEBUG = True \`ag am forbartha) chuig rang nua a chónaíonn san fheidhmchlár \`staticfiles (an ceann atá i ndáiríre i gceannas ar an ngné den sórt sin): :class: django.contrib.staticfiles.testing.clistativeServertestcase. Is é sin le rá, tá Liveservertestcase féin chomh cumhachtach ach ag an am céanna tá níos lú draíochta aige.

  Is é an réasúnaíocht atá taobh thiar de seo ná spleáchas ar chód neamh-contrib a bhaint ar iarratais contrib.
- Ní thacaítear leis an sean-chomhréir URI taisce (m.sh. `"locmem: //"`) a thuilleadh. D'oibrigh sé fós, cé nár doiciméadaíodh nó nár thacaíodh leis go hoifigiúil. Má tá tú fós á úsáid agat, nuashonraigh an chomhréir reatha: setting: CACHES le do thoil.
- Tá athrú tagtha ar ordú réamhshocraithe réimsí `Foirm` i gcás oidhreachta chun gnáth-MRO Python a leanúint. Aimsítear réimsí anois trí athrá tríd an MRO ar ais agus an rang is barr ag teacht go deireanach. Níl tionchar aige seo ort ach amháin má bhraith tú ar ordú réamhshocraithe an réimse agus réimsí sainmhínithe agat ar an aicme reatha\* agus\* araon ar thuismitheoir Foirm \`.
- Baineadh an argóint `riachtan` de:class: ~django.forms.selectDateWidget. Déanann an giuirléid seo meas anois ar thréith `is_required` réimse an fhoirme cosúil le giuirléidí eile.
- Is maoin léite amháin é `Widget.is_Hidden` anois, ag fáil a luach trí input\_type == 'hidden'\` a fheiceáil ar láithreacht input\_type == 'hidden'.
- [`select_related()`](/ga/5.2/ref/models/querysets/#django.db.models.query.QuerySet.select_related) now chains in the
  same way as other similar calls like `prefetch_related`. That is,
  `select_related('foo', 'bar')` is equivalent to
  `select_related('foo').select_related('bar')`. Previously the latter would
  have been equivalent to `select_related('bar')`.
- Thit GeodJango tacaíocht do GEOS \<3.1.
- \<DATABASE-AUTOCOMMIT\>Cuirtear an modh init\_connection\_state\` de chúlchúlachtaí bunachar sonraí i mód autocommit anois (mura socraíonn tú: AUTOCOMMIT \`go \`False\`). Má choinníonn tú cúltaca bunachar sonraí saincheaptha, ba cheart duit an modh sin a sheiceáil.
- Athainmníodh an tréith `Django.db.backends.basedatabaseFeatures.allows_primary_key_0` go `allows_auto_pk_0` chun cur síos níos fearr air. Is “True” é do gach cúltaca bunachar sonraí atá san áireamh le Django seachas MySQL a cheadaíonn eochracha bunscoile le luach 0. Ní chuireann sé cosc ach eochracha príomhúla\* autoincrement\* le luach 0.
- Tá cosc curtha ar réimsí samhail a shainmhínítear i samhail tuismitheora toisc go gcruthaíonn sé seo débhríocht in iompar an tsamhail a Ina theannta sin, bíonn earráid seiceála córais mar thoradh ar réimsí comhraic san ordlathas oidhreachta samhail. Mar shampla, má úsáideann tú iloidhreacht, ní mór duit príomhréimsí saincheaptha bunscoile a shainiú ar mhúnlaí tuismitheoirí, ar shlí eile beidh na réimsí réamhshocraithe id ag teacht isteach. Féach:ref: model-multiple-oidhreance-topic le haghaidh sonraí.
- Filleann django.utils.translation.parse\_accept\_lang\_header () áiteanna litreacha beaga anois, in ionad an cás mar a cuireadh ar fáil é. Toisc gur chóir cóireáil le háiteanna neamh-íogair, tugann sé seo deis dúinn brath áitiúil a bhrostú.
- ```django.utils.translation.get_language_from_path () ``agus ``django.utils.translation.trans_real.get_supported_language_variant ()``` anois níl argóint tacaithe a thuilleadh.
- Tacaíonn an radharc `shortcut` i django.contrib.contenttypes.views\` anois le URLanna coibhneasta le prótacail (m.sh. `//example.com`).
- [`GenericRelation`](/ga/5.2/ref/contrib/contenttypes/#django.contrib.contenttypes.fields.GenericRelation) now supports an
  optional `related_query_name` argument. Setting `related_query_name` adds
  a relation from the related object back to the content type for filtering,
  ordering and other query operations.
- Agus tástálacha á reáchtáil ar PostgreSQL, beidh rochtain léite ag teastáil uir:setting: USER ar an mbunachar sonraí postgres ionsuite. Tá sé seo in ionad an iompar roimhe seo maidir le nascadh leis an mbunachar sonraí neamh-thástála iarbhír.
- Mar chuid den chreat seiceála córas:doc: ```, :ref: `réim</ref/checks> sí, samhlacha agus bainisteoirí samhlacha `cuireann gach duine modh ``check <field-checking>()``` cláraithe leis an gcreat seiceála i bhfeidhm. Má tá modh ann cheana agat ar a dtugtar check () ar cheann de na rudaí seo, beidh ort é a athainmniú.
- Mar a luadh thuas sa chuid “Cache” de “Mionghnéithe”, ag sainmhíniú argóint: socrú: TIMEOUT \`den socrú: \<CACHES-TIMEOUT\>CACHES\` mar `None` socraítear na heochracha taisce mar “neamh-éag”. Roimhe seo, leis an gcúltaca memcache, socraíodh a: socrú: TIMEOUT \<CACHES-TIMEOUT\>\`de \`0\` eochracha neamh-éag, ach bhí sé seo neamhréidh le hiompar socraithe agus éag (ie gan aon chaching) ```set (“key”, “value”, timeout = 0) ``. Más mian leat eochracha nach bhfuil in éag, nuashonraigh do shocruithe le do thoil chun ``None ``a úsáid in ionad ``0``` mar a ainmníonn an dara ceann anois socraithe agus éag sna socruithe freisin.
- Tá meas anois ag na horduithe bainistíochta sql\*\` an modh allow\_migration () \`\`de:setting: \`DATABASE\_ROUTERS. Má tá samhlacha agat sioncronaithe le bunachair sonraí neamh-réamhshocraithe, bain úsáid as an bhratach --bunachar sonraí chun SQL a fháil do na samhlacha sin (roimhe seo bheadh siad san áireamh san aschur i gcónaí).
- Titeann díchódú an teaghrán fiosrúcháin ó URLanna anois ar ais chuig an ionchódú ISO-8859-1 nuair nach bhfuil an t-ionchur bailí UTF-8.
- Leis an django.contrib.auth.middleware.sessionAuthenticationMiddleware\` a chur leis an teimpléad réamhshocraithe tionscadail (réamh-1.7.2 amháin), ní mór bunachar sonraí a chruthú sula bhfaightear rochtain ar leathanach ag baint úsáidea:djadmin: runserver.
- Beidh an argóint ```scéimeanna ``a chur le `URLValidator``` le feiceáil mar athrú neamh-chomhoiriúnach le cúl má bhí tú ag úsáid abairt rialta saincheaptha roimhe seo chun scéimeanna a bhailíochtú. Teipfidh ar aon scéim nach bhfuil liostaithe i “scéimeanna” bailíochtú, fiú má mheaitseálann an abairt rialta leis an URL a thugtar.

## Gnéithe atá díscríofa i 1.7

### `django.core.cache.get_cache`

Tá `django.core.cache.get_cache` curtha in ionad ag: data: django.core.cache.caches.

### `django.utils.dictconfig`/`django.utils.importlib`

Ba chóipeanna iad `django.utils.dictconfig` agus `django.utils.importlib` cóipeanna de réir seach:mod: logging.config agus:mod: importlib a chuirtear ar fáil do leaganacha Python roimh 2.7. Tá siad díscríofa.

### `django.utils.module_loading.import_by_path`

Gabhann an fheidhm reatha `django.utils.module_loading.import_by_path` eisceachtaí `AttributeError`, ImportError\`, agus `ValueError`, agus athardaíonn sé: exc: ~Django.Core.Exceptions.imProperlyConfigured. De bharr mascáil eisceachta den sórt sin tá sé deacair gan ghá fadhbanna iompórtála ciorclach a dhiagnóisiú, toisc go dtugann sé cuma go dtagann an fhadhb ón taobh Tá sé curtha i bhfabhar: meth: ~django.utils.module\_loading.import\_string.

### `django.utils.tzinfo`

Chuir `django.utils.tzinfo` dhá fho-aicme: ~datetime.tzinfo ar fáil, `LocalTimeZone` agus `FixedOffset`. Tá siad curtha i bhfabhar roghanna níos cearta a sholáthraí:mod: django.utils.timezone, :func: django.utils.timezone.get\_default\_timezone agus:func: django.utils.timezone.get\_fixed\_timezone.

### `django.utils.unittest`

Chuir `django.utils.unittest` rochtain aonfhoirmeach ar an leabharlann `unittest2` ar gach leagan Python. Ós rud é gur tháinig unittest2\` mar modúl caighdeánach leabharlainne: mod: unittest i Python 2.7, agus go dtiteann Django 1.7 tacaíocht do leaganacha Python níos sine, níl an modúl seo úsáideach níos mó. Tá sé díscríofa. Úsáid: MOD: unittest ina ionad.

### `Django.utils.DataStructures.Sorteddict`

Cuireadh ~Collections.OrderedDict as:Class: ~Collections.OrderedDict leis an leabharlann caighdeánach i Python 2.7, níl `SortedDict` ag teastáil a thuilleadh agus tá sé díscoite.

Baineadh an dá mhodh breise, dlús a sholáthraíonn `Sorteddict` (```insert () ``agus ``value_for_index ()```). Má bhí tú ag brath ar na modhanna seo chun struchtúir cosúil le réimsí foirme a athrú, ba cheart duit anois na OrderedDict' seo a chóireáil mar rudaí do-athraithe agus iad a athrú chun a n-ábhar a athrú.

Mar shampla, b'fhéidir gur mhaith leat MyFormClass.base\_Fields\` a athrú (cé nach meastar gur API poiblí an tréith seo) chun ordú réimsí do gach cás `MyFormClass` a athrú; nó ar an gcaoi chéanna, d'fhéadfá `self.fields` a shárú ón taobh istigh de MyFormClass. \_\_init\_\_ () \`, chun na réimsí a athrú le haghaidh foirm áirithe. Mar shampla (ó Django féin):

```
PasswordChangeForm.base_fields = OrderedDict(
    (k, PasswordChangeForm.base_fields[k])
    for k in ["old_password", "new_password1", "new_password2"]
)
```

### Suíomh saincheaptha SQL do phacáiste samhlacha

Roimhe seo, dá mbeadh samhlacha eagraithe i bpacáiste (`myapp/models/`) seachas `myapp/models.py`, chuardódh Django sonraí tosaigh SQL i `myapp/models/sql/`. Socraíodh an fabht seo ionas go ndéanfaidh Django cuardach ar `myapp/sql/` mar a dhoiciméadaithe. Tar éis an tsaincheist seo a shocrú, cuireadh imirce leis a dhíspreagann sonraí tosaigh SQL. Dá bhrí sin, cé go bhfuil an t-athrú seo ann fós, níl an diúltú neamhábhachtach mar bainfear an ghné iomlán i Django 1.9.

### Athfhoirmiú `django.contrib.sites`

Soláthraíonn `django.contrib.sites` feidhmiúlacht laghdaithe nuair nach bhfuil sé in:setting: INSTALLED\_APPS. Cuireann an t-athfhachtóir luchtaithe aip roinnt srianta sa chás sin. Mar thoradh air sin, bogadh dhá réad, agus tá na sean-áiteanna measartha:

- [`RequestSite`](/ga/5.2/ref/contrib/sites/#django.contrib.sites.requests.RequestSite) now lives in
  `django.contrib.sites.requests`.
- [`get_current_site()`](/ga/5.2/ref/contrib/sites/#django.contrib.sites.shortcuts.get_current_site) now lives in
  `django.contrib.sites.shortcuts`.

### Tréith `declared_fieldsets` ar ModelAdmin\`

Tá `ModelAdmin.Declared_FieldSets` imithe. In ainneoin gur API príobháideach é, rachaidh sé trí chosán diúltaithe rialta. Baineadh úsáid as an tréith seo den chuid is mó trí mhodhanna a sheachain ModelAdmin.get\_FieldSets () ach meastar gur fabht é seo agus tugadh aghaidh air.

### Athfhoirmiú `django.contrib.contenttypes`

Ós rud é go sainmhíníodh `django.contrib.contenttypes.generic` rudaí a bhaineann le riarachán agus samhail araon, d'fhéadfadh allmhairiú an mhodúil seo fo-iarsmaí gan choinne a spreagadh. Mar thoradh air sin, roinníodh a ábhar go fo-mhodúil: mod: ~django.contrib.contenttypes agus tá an modúl `django.contrib.contenttypes.generic` díluaite:

- [`GenericForeignKey`](/ga/5.2/ref/contrib/contenttypes/#django.contrib.contenttypes.fields.GenericForeignKey) and
  [`GenericRelation`](/ga/5.2/ref/contrib/contenttypes/#django.contrib.contenttypes.fields.GenericRelation) now live in
  [`fields`](/ga/5.2/ref/contrib/contenttypes/#module-django.contrib.contenttypes.fields).
- [`BaseGenericInlineFormSet`](/ga/5.2/ref/contrib/contenttypes/#django.contrib.contenttypes.forms.BaseGenericInlineFormSet) and
  [`generic_inlineformset_factory()`](/ga/5.2/ref/contrib/contenttypes/#django.contrib.contenttypes.forms.generic_inlineformset_factory) now
  live in [`forms`](/ga/5.2/ref/contrib/contenttypes/#module-django.contrib.contenttypes.forms).
- [`GenericInlineModelAdmin`](/ga/5.2/ref/contrib/contenttypes/#django.contrib.contenttypes.admin.GenericInlineModelAdmin),
  [`GenericStackedInline`](/ga/5.2/ref/contrib/contenttypes/#django.contrib.contenttypes.admin.GenericStackedInline) and
  [`GenericTabularInline`](/ga/5.2/ref/contrib/contenttypes/#django.contrib.contenttypes.admin.GenericTabularInline) now live in
  [`admin`](/ga/5.2/ref/contrib/contenttypes/#module-django.contrib.contenttypes.admin).

### `Syncdb`

Tá an t-ordú `syncdb` díluaite i bhfabhar an ordaithe nua:djadmin: migrate. Glacann `migrate` na hargóintí céanna le `syncdb` a úsáidtear chun cúpla ceann eile, mar sin tá sé sábháilte an t-ainm atá á ghlaoch agat a athrú agus rud ar bith eile.

### Athainmníodh modúil `util` go `utils`

Athainmníodh na cásanna seo a leanas de util.py\` sa chód-bhunachar Django go `utils.py` in iarracht gach tagairt util agus utils a aontú:

- `django.contrib.admin.util`
- `django.contrib.gis.db.backends.util`
- `django.db.backends.util`
- `django.forms.util`

### Modh `get_formsets` ar ModelAdmin\`

Tá ModelAdmin.get\_FormSets\` curtha i bhfabhar an nua:meth: ~django.contrib.admin.modeladmin.get\_formsets\_with\_inlines, d'fhonn láimhseáil níos fearr an cás a bhaineann le línte a thaispeáint go roghnach ar ModelAdmin\`.

### `Ipaddressfield`

Tá na réimsí `Django.db.Models.iPaddressField` agus `Django.Forms.iPaddressField` curtha i bhfabhr:class: Django.db.Models.GenericipAddressField agus:class: Django.Forms.GenericipAddressField.

### `BaseMemcachedCache. Modh _get_memcache_timeout`

An ```BaseMemcachedCache. Athainmníodh modh _get_memcache_timeout () ``go `get_backend_timeout ()```. In ainneoin gur API príobháideach é, rachaidh sé tríd an ngnáthdháileadh.

### Príomhroghanna sraith nádúrtha

Tá na roghanna `--natural` agus `-n` le haghaidh: djadmin: dumpdata curtha as. Úsáid: rogha: dumpdata --natural-foreign ina ionad.

Ar an gcaoi chéanna, tá an argóint `use_natural_keys` do serializers.serialize () \`\`díluaite. Úsáid \`\`use\_natural\_foreign\_keys\` ina ionad.

### Argóintí ```POST ``agus `GET``` a chumasc i `WSGIrequest.request`

Moladh go láidir cheana féin go n-úsáideann tú `GET` agus POST \`\`\`\`POST\` in ionad `REQUEST`, toisc go bhfuil an chéad cheann níos soiléire. Tá an maoin IARRAIDH díluachtaithe agus bainfear í i Django 1.9.

### Aicme `Django.Utils.DataStructures.Mergedict`

Tá `Mergedict` ann go príomha chun tacú le hargóintí POST \`\`agus \`GET\` a chumasc i maoin `REQUEST` ar WSGIREQUEST\`. Chun foclóirí a chumasc, bain úsáid as ```dict.update () ``ina ionad. Tá an rang ``Mergedict``` díluaite agus bainfear é i Django 1.9.

### Cóid teanga `zh-cn`, zh-tw\` agus `fy-nl`

Tá na cóid teanga a úsáidtear faoi láthair do Sínis Simplithe `zh-cn`, Sínis Traidisiúnta `zh-tw` agus (Iarthar) Fríseach `fy-nl` a chur in ionad agus ba chóir na cóid teanga zh-hans\`, zh-hant\` agus `fy` faoi seach iad. Má úsáideann tú na cóid teanga seo, ba cheart duit na heolairí áitiúla a athainmniú agus do shocruithe a nuashonrú chun na hathruithe seo a léiriú Bainfear na cóid teanga díscoite i Django 1.9.

### Feidhm django.utils.functional.memoize \`\`

Tá an fheidhm ```memoize ``díluaite agus ba cheart an maisitheoir ``functools.lru_cache``` (ar fáil ó Python 3.2 ar aghaidh) a chur ina ionad.

Seolann Django backport den mhaisitheoir seo do leaganacha Python níos sine agus tá sé ar fáil ag `django.utils.lru_cache.lru_cache`. Bainfear an fheidhm atá díscríofa i Django 1.9.

### Léarscáileanna Suímh Geo

Tá tacaíocht ar scor ag Google don fhormáid Geo Sitemaps. Dá bhrí sin tá tacaíocht Django do Geo Sitemaps as lasc agus bainfear é i Django 1.8.

### Argóintí inghlaonta a chur chuig modhanna ceisteanna

Gné neamhdhoiciméadaithe a bhí ag argóintí inghlaonta do cheisteanna a bhí ann nach raibh iontaofa. Tá sé díscríofa agus bainfear é i Django 1.9.

Rinneadh measúnú ar argóintí inghlaoite nuair a tógadh sraith fiosrúcháin seachas nuair a rinneadh é a mheas, mar sin níor bhain an ghné seo tairbhe ar bith as i gcomparáid le measúnú a dhéanamh ar argóintí sular cuireadh ar aghaidh chuig queryset iad agus chruthaigh sé mearbhall go mb’fhéidir gur measadh na hargóintí ag am fiosrúcháin.

### Socrú `ADMIN_FOR`

Tá an ghné `ADMIN_FOR`, cuid den admindocs, bainte amach. Is féidir leat an socrú a bhaint as do chumraíocht ag áisiúlacht duit.

### `SplitDateTimeWidget` le `DateTimeField`

Tá tacaíocht `SplitDateTimeWidget` in:class: ~django.forms.DateTimeField díluaite, bain úsáid as `SplitDateTimeWidget` le:class: ~django.forms.splitDateTimeField ina ionad.

### `bailíocht`

Cuirtear an t-ordú bainistíochta bailite\` a dhíchur i bhfabhar an orduithe: djadmin: check.

### `Django.Core.Management.BaseCommand`

Tá `requres_model_validation` a dhíchur i bhfabhar bratach nua `requires_system_checks`. Má tá an bhratach deiridh in easnamh, úsáidtear luach an iar-bhratach. Tá earráid mar thoradh ar `requires_system_checks` agus requres\_model\_validation\` araon a shainmhíniú.

Tá an modh ```check () ``tar éis an sean-mhodh ``validate ()``` in ionad.

### Bailíochtóirí Modeladmin \`\`

Tá na tréithe `ModelAdmin.validator_class` agus default\_validator\_class\` a dhíchur i bhfabhar na tréithe nua `checks_class`.

Tá an modh ModelAdmin.validate () díluaite i bhfabhar \`\`ModelAdmin.check () \`.

Tá an modúl `django.contrib.admin.validation` a dhíchur.

### `Django.db.backends.databaseValidation.validate_field`

Tá an modh seo gan moladh i bhfabhar modh nua `seiceáil_réimse`. Tá an fheidhmiúlacht a éilíonn \`\` check\_field()\`\` mar an gcéanna leis an bhfeidhmiúlacht a sholáthraíonn `validate_field()`, ach tá an fhormáid aschuir difriúil. Ba cheart go soláthródh inneall bunachar sonraí tríú páirtí a bhfuil gá acu leis an bhfeidhmiúlacht seo cur i bhfeidhm `check_field()`.

### Clibeanna teimpléad `ssi` agus ```url ``á luchtú ó leabharlann ``todhcha```

Thug Django 1.3 isteach comhréir `{% load ssi ón todhchaí%}` agus `{% load url ón todhchaí%}` le haghaidh comhoiriúnacht ar aghaidh na gclibeanna teimpléad `ssi` agus:ttag: url \`. Tá an comhréireacht seo díscríofa anois agus bainfear é i Django 1.9. Ní féidir leat ach na clibeanna \`\`{% load... a bhaint as clibeanna%}\` sa todhchaí.

### `django.utils.text.javascript_quote`

Feidhm neamhdhoiciméadaithe a bhí ann i ```javascript_quote () ``i láthair in ``django.utils.text```. Úsáideadh é go hinmheánach sa radharc javascript\_catalog () \`\`a athraíodh a chur i bhfeidhm chun \`\`json.dumps ()\` a úsáid ina ionad. Má bhí tú ag brath ar an bhfeidhm seo chun aschur sábháilte a sholáthar ó teaghráin neamhiontaofa, ba cheart duit an scagaire teimpléad `django.utils.html.escapejs` nó an scagaire teimpléad: escapejs a úsáid. Más rud a theastaíonn uait ná teaghráin JavaScript bailí a ghiniúint, is féidir leat json.dumps () a úsáid.

### Modh úsáideach agus scagaire teimpléad `fix_ampersands`

Tá an modh `django.utils.html.fix_ampersands` agus an scagaire teimpléad `fix_ampersands` a dhíchur, toisc go dtugann gnéithe caighdeánacha éalaithe HTML Django aire d'éalú ampersandaí cheana féin. Bheadh éalú dúbailte mar thoradh air seo le fix\_ampersands, nó, má ghlactar leis go bhfuil an t-aschur sábháilte, baol go dtabharfar leochaileachtaí XSS a thabhairt isteach. In éineacht le `fix_ampersands`, tá django.utils.html.clean\_html\` díscoite, feidhm neamhdhoiciméadaithe a ghlaonn `fix_ampersands`. Toisc gur díphríocht luathaithe é seo, bainfear `fix_ampersands` agus `clean_html` i Django 1.8.

### Athrú socruithe tástála bunachar sonraí

\<DATABASE-TEST\>Tá gach socrú bunachar sonraí le réimír `TEST_` díluaite i bhfabhar iontrálacha i bhfoclóir a:setting: TEST i socruithe bunachar sonraí. Tacófar leis na sean-socruithe go dtí Django 1.9. Maidir le comhoiriúnacht ar ais le leaganacha níos sine de Django, is féidir leat an dá leagan de na socruithe a shainiú chomh fada agus a mheaitseálann siad.

### Tacaíocht FastCGI

Bainfear tacaíocht FastCGI tríd an ordú bainistíochta runfcgi\` i Django 1.9. Imscaradh do thionscadal le do thoil ag úsáid WSGI.

### Rudaí bogadh i contrib.sites\`

Tar éis an athfhachtóir luchtaithe aip, b'éigean dhá réad i django.contrib.sites.models\` a bhogadh toisc go gcaithfidh siad a bheith ar fáil gan django.contrib.sites.models\` a allmhairiú nuair nach bhfuil `django.contrib.sites` suiteáilte. Iompórtáil `requestsite` ó `django.contrib.sites.requests` agus ```get_current_site () ``ó `django.contrib.sites.shortcuts```. Oibreoidh na sean-áiteanna allmhairithe go dtí Django 1.9.

### django.forms.forms.get\_declarred\_fields () \`\`

Ní úsáideann Django an fheidhmiú seo go hinmheánach. Cé gur API príobháideach é, rachaidh sé tríd an ngnáththimthriall díscrúdaithe.

### APIs Cuardaigh Ceisteanna Príobháideacha

Tá APIs príobháideacha ```Django.db.Models.Sql.where.whereNode.Make_Atom () ``agus ``Django.db.Models.sql.where.</ref/models/lookups> Constraint``` a dhíchur i bhfabhar an nua:doc: lookups saincheaptha API.

## Gnéithe bainte i 1.7

Tá na gnéithe seo tar éis deireadh a dtimthriall díscrúdaithe bainte amach agus baintear iad i Django 1.7. Féach: Ref: deprecated-features-1.5 le haghaidh sonraí, lena n-áirítear conas úsáid na ngnéithe seo a bhaint.

- Baintear `django.utils.simplejson`.
- Baintear `django.utils.itercompat.product`.
- Ní cheartaítear INSTALLED\_APPS agus TEMPLATE\_DIRS a thuilleadh ó shreang simplí isteach i dtuple.
- [`HttpResponse`](/ga/5.2/ref/request-response/#django.http.HttpResponse),
  [`SimpleTemplateResponse`](/ga/5.2/ref/template-response/#django.template.response.SimpleTemplateResponse),
  [`TemplateResponse`](/ga/5.2/ref/template-response/#django.template.response.TemplateResponse),
  `render_to_response()`, [`index()`](/ga/5.2/ref/contrib/sitemaps/#django.contrib.sitemaps.views.index), and
  [`sitemap()`](/ga/5.2/ref/contrib/sitemaps/#django.contrib.sitemaps.views.sitemap) no longer take a `mimetype`
  argument
- [`HttpResponse`](/ga/5.2/ref/request-response/#django.http.HttpResponse) immediately consumes its content if it's
  an iterator.
- Baintear an socrú `AUTH_PROFILE_MODULE`, agus an modh get\_profile () ar an tsamhail Úsáideora.
- Baintear an t-ordú bainistíochta `glantach`.
- Baintear an script daily\_cleanup.py\`.
- [`select_related()`](/ga/5.2/ref/models/querysets/#django.db.models.query.QuerySet.select_related) no longer has a
  `depth` keyword argument.
- Feidhmíonn get\_warnings\_state () /restore\_warnings\_state () ó:mod: django.test.utils agus an save\_warnings\_state () / restore\_warnings\_state () :ref: django.test. \* Baintear tástá \<django-testcase-subclasses\>il .
- Baintear an modh `check_for_test_cookie` in:class: ~django.contrib.auth.forms.AuthenticationForm.
- Baintear an leagan de ```django.contrib.auth.views.password_reset_confirm () ``a thacaíonn le ID úsáideora ionchódaithe base36 (``django.contrib.auth.views.password_reset_confirm_uidb36```).
- Baintear an meascán `django.utils.encoding.StrandUnicode`.
