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

*23 Márta, 2011*

Fáilte go dtí Django 1.3!

Beagnach bliain ag déanamh, cuimsíonn Django 1.3 beagán go leor: ref: gnéithe nua' agus neart socruithe fabht agus fe \<whats-new-1.3\>abhsúcháin ar ghnéithe atá ann cheana. Clúdaíonn na nótaí scaoilte seo na gnéithe nua i 1.3, chomh maith le roinnt: ref: athruithe neamh-chomhoiriúnacha \<backwards-incompatible-changes-1.3\>'a mbeidh tú ag iarraidh a bheith ar an eolas fúthu agus tú ag uasghrádú ó Django 1.2 nó leaganacha níos sine.

## Forbhreathnú

Bhí fócas Django 1.3 den chuid is mó ar iarratais gné níos lú fadtéarmach a réiteach, ach níor chuir sé sin cosc ar chúpla gné nua réasúnta suntasach ó thúrlann, lena n-áirítear:

- Creat chun 'tuairimí rangbhunaithe '\_ a scríobh.
- Tacaíocht ionsuite chun saoráidí logála Python a úsáid \_.
- Tacaíocht Contrib do láimhseáil éasca comhaid statacha \_.
- Tacaíonn creat tástála Django anois le “leabharlann unittest2” (agus seolann sé le cóip de).

Cibé áit is féidir, tugtar gnéithe nua isteach ar bhealach atá comhoiriúnach le cúl: doc: 'ár mbeartas cobhsaíochta API\</misc/api-stability\> '. \<deprecated-features-1.3\>Mar thoradh ar an mbeartas seo, dtosaíonn Django 1.3:ref: an próiseas díghabhála do roinnt gnéithe .

## Comhoiriúnacht Python

Bhí scaoileadh Django 1.2 suntasach as an chéad athrú a bheith aige i mbeartas comhoiriúnachta Python Django; roimh Django 1.2, thacaigh Django le haon leagan 2.x de Python ó 2.3 suas. Amhail Django 1.2, ardaíodh an riachtanas íosta go Python 2.4.

Leanann Django 1.3 ag tacú le Python 2.4, ach is é an tsraith scaoileadh Django deiridh é sin a dhéanamh; ag tosú le Django 1.4, is é 2.5 an leagan Python íosta a thacaítear. Foilseofar doiciméad ina leagtar amach ár n-amlíne iomlán chun Python 2.x a dhíspreagadh agus bogadh go Python 3.x go gairid tar éis Django 1.3 a scaoileadh.

## Cad atá nua i Django 1.3

### Tuairimí rang-bhunaithe

Cuireann Django 1.3 creat leis a ligeann duit rang a úsáid mar radharc. Ciallaíonn sé seo gur féidir leat radharc a chumadh as bailiúchán modhanna is féidir iad a fho-aicmiú agus a shárú chun tuairimí coitianta ar shonraí a sholáthar gan an iomarca cód a scríobh.

Cuireadh analógacha de na sean-radhairc chineálacha bunaithe ar fheidhm ar fáil, mar aon le rang bonn radharc go hiomlán cineálach is féidir a úsáid mar bhunús d'iarratais in-athúsáidte is féidir a leathnú go héasca.

See [the documentation on class-based generic views](/ga/6.1/topics/class-based-views/) for more details. There is also a document
to help you [convert your function-based generic views to class-based views](https://raw.githubusercontent.com/django/django/ea9dc9f4b03ae034c1dc080730422dda7a9c2e47/docs/topics/generic-views-migration.txt).

### Logáil

Django 1.3 adds framework-level support for Python's `logging`
module. This means you can now easily configure and control logging
as part of your Django project. A number of logging handlers and
logging calls have been added to Django's own code as well -- most
notably, the error emails sent on an HTTP 500 server error are now
handled as a logging activity. See [the documentation on Django's
logging interface](/ga/6.1/topics/logging/) for more details.

### Láimhseáil comhaid statacha sínte

Seolann Django 1.3 le aip contrib nua - `django.contrib.staticfiles` \- chun cabhrú le forbróirí na comhaid meán statacha (íomhánna, CSS, JavaScript, srl.) atá riachtanach chun leathanach gréasáin iomlán a láimhseáil.

I leaganacha roimhe seo de Django, bhí sé coitianta sócmhainní statacha a chur in:setting: MEDIA\_ROOT mar aon le comhaid uaslódáilte ón úsáideoir, agus iad araon a sheirbheáil ag: socrú: MEDIA\_URL. Cuid den chuspóir a bhaineann leis an aip staticfiles a thabhairt isteach ná é a dhéanamh níos éasca comhaid statacha a choinneáil ar leithligh ó chomhaid uaslódáilte ón úsáideoir. Ba chóir sócmhainní statacha dul anois i bhfo-eolairí statach/\` d'aipeanna nó in eolairí sócmhainní statacha eile atá liostaithe in:setting: STATICFILES\_DIRS, agus seirbheálfar iad ag: socrú: STATIC\_URL.

Féach na:doc: doiciméadú tagartha an aipe le haghaidh tuilleadh sonraí nó fo\</ref/contrib/staticfiles\> ghlaim conas:doc: comhaid statacha a bhainistiú \</howto/static-files/index\> '.

### Tacaíocht `unittest2`

Thug Python 2.7 roinnt athruithe móra isteach ar an leabharlann unittest , ag cur roinnt gnéithe thar a bheith úsáideach leis. Chun a chinntiú gur féidir le gach tionscadal Django leas a bhaint as na gnéithe nua seo, seolann Django cóip de:pypi: unittest2, cóip de leabharlann Python 2.7 unittest \`, cúltaca le haghaidh comhoiriúnacht Python 2.4.

Chun rochtain a fháil ar an leabharlann seo, soláthraíonn Django ailias modúl `django.utils.unittest`. Má tá Python 2.7 á úsáid agat, nó má tá unittest2\` suiteáilte agat go háitiúil, déanfaidh Django an t-ainm a mhapáil chuig an leagan suiteáilte den leabharlann `unittest`. Seachas sin, úsáidfidh Django a leagan cuacail féin de unittest2\`.

Chun leas a bhaint as an ailias seo, bain úsáid as:

```
from django.utils import unittest
```

cibé áit a bheadh úsáid agat go stairiúil:

```
import unittest
```

Más mian leat leanúint ar aghaidh ag úsáid an leabharlann “unittest” bonn, is féidir leat - ní gheobhaidh tú aon cheann de na gnéithe deasa nua unittest2\`.

### Bainisteoirí comhthéacs i

Féadfaidh úsáideoirí Python 2.5 agus níos airde feidhmeanna bainistíochta idirbheart a úsáid anois mar bhainisteoirí comhthéacs. Mar shampla:

```
with transaction.autocommit():
    ...
```

### Cascade-scriosadh cumraithe

[`ForeignKey`](/ga/6.1/ref/models/fields/#django.db.models.ForeignKey) and
[`OneToOneField`](/ga/6.1/ref/models/fields/#django.db.models.OneToOneField) now accept an
[`on_delete`](/ga/6.1/ref/models/fields/#django.db.models.ForeignKey.on_delete) argument to customize behavior
when the referenced object is deleted. Previously, deletes were always
cascaded; available alternatives now include set null, set default, set to any
value, protect, or do nothing.

Le haghaidh tuilleadh faisnéise, féach an doiciméadach:attr: ~django.db.models.foreignkey.on\_delete.

### Marcóirí agus tuairimí comhthéacsúla le haghaidh teaghráin inai

Maidir le teaghráin aistriúcháin a bhfuil brí débhríoch acu, is féidir leat an fheidhm pgettext\` a úsáid anois chun comhthéacs an teaghráin a shonrú.

Agus mura dteastaíonn uait ach roinnt faisnéise a chur leis d'aistritheoirí, is féidir leat tráchtanna aistritheora speisialta a chur san fhoinse freisin.

Le haghaidh tuilleadh faisnéise, féach:ref: contextual-markers agus:ref: translator-comments.

### Feabhsuithe ar chlib teimpléad ionsuite

Rinneadh roinnt feabhsuithe ar chlibeanna teimpléad ionsuite Django:

- Glacann an clibe:ttag: include anois le rogha with\`,,, ag ligean duit athróga comhthéacs a shonrú don teimpléad san áireamh
- Glacann an clibe:ttag: include anois le rogha amháin , rud a ligeann duit an comhthéacs reatha a eisiamh ón gcomhthéacs san áireamh
- Ligeann an clibe:ttag: with duit anois ilathróga comhthéacs a shainiú i mbloc aonair: ttag: with.
- Glacann an clibe:ttag: load anois le argóint \`\`ó \`, rud a ligeann duit clib amháin nó scagaire a luchtú ó leabharlann.

### TeimpléadFreagra

Uaireanta d'fhéadfadh sé a bheith tairbheach ligean do mhaisitheoirí nó earraí lárnacha freagra a mhodhnó\* tar éis dó\* é a thógáil ag an dearcadh. Mar shampla, b'fhéidir gur mhaith leat an teimpléad a úsáidtear a athrú, nó sonraí breise a chur sa chomhthéacs.

Mar sin féin, ní féidir leat ábhar bunús:class: ~django.http.httpResponse a mhodhnú (go héasca) tar éis é a thógáil. Chun an teorannú seo a shárú, cuireann Django 1.3 rang nua:class: ~Django.Template.Response.TemplateResponse leis. Murab ionann agus bunús:class: ~django.http.httpResponse rudaí, :class: ~Django.Template.Response.TemplateResponse coinníonn rudaí sonraí an teimpléad agus an chomhthéacs a chuir an dearcadh ar fáil chun an freagra a ríomh. Ní ríomhtar aschur deiridh an fhreagra go dtí go mbeidh sé ag teastáil, níos déanaí sa phróiseas freagartha.

Le haghaidh tuilleadh sonraí, féach ar an [doiciméadúchán](/ga/6.1/ref/template-response/) ar an [`TemplateResponse`](/ga/6.1/ref/template-response/#django.template.response.TemplateResponse) rang.

### Athruithe Caching

Feiceann Django 1.3 tugtar isteach roinnt feabhsuithe ar bhonneagar caching an Django.

Ar dtús, tacaíonn Django anois le cúscáin ainmnithe iolracha. Ar an mbealach céanna a thug Django 1.2 tacaíocht isteach do naisc iolracha bunachar sonraí, tugann Django 1.3 deis duit an socrú nua:setting: CACHES a úsáid chun naisc taisce iolracha ainmnithe a shainiú.

\<cache\_key\_transformation\>Ar an dara dul síos, cuireadh :ref: leagan \<cache\_versioning\>, :ref: réamhshocrú ar fud an láithreáin agus \<cache\_key\_prefixing\>:ref: claochlú leis an API taisce.

Ar an tríú dul síos, nuashonraí \<using-vary-headers\>odh :ref: cruthú eochair taiscéalaí chun an teaghrán fiosrúcháin iarratais a chur san áireamh ar iarratais `GET`.

Faoi dheireadh, cuireadh tacaíocht do [pylibmc](http://sendapatch.se/projects/pylibmc/) leis an gcúltaca taisce memcached.

Le haghaidh tuilleadh sonraí, féach an:doc: doiciméadú maidir le caching in Django\`\</topics/cache\>.

### Ceadanna d'úsáideoirí neamhriach

If you provide a custom auth backend with `supports_inactive_user`
set to `True`, an inactive `User` instance will check the backend
for permissions. This is useful for further centralizing the
permission handling. See the [authentication docs](/ga/6.1/topics/auth/)
for more details.

### GeodJango

\<spatial-backends\>Tá an tsraith tástála GeodJango san áireamh anois nuair: ref: ag rith an tsraith tástála Django \`le \`\`runtests.py\` nuair a úsáidtear: ref: \<running-unit-tests\>\`cúltaca bunachar sonraí spásúla\`.

### [`MEDIA_URL`](/ga/6.1/ref/settings/#std-setting-MEDIA_URL) and [`STATIC_URL`](/ga/6.1/ref/settings/#std-setting-STATIC_URL) must end in a slash

Roimhe seo, ní theastaigh le socrú: socrú: MEDIA\_URL ach amháin má bhí iarmhír ann níos faide ná an ainm fearainn.

Tá slais leantach ag teastáil \* anois \* le haghaidh [`MEDIA_URL`](/ga/6.1/ref/settings/#std-setting-MEDIA_URL) agus an socrú nua ::STATIC\_URL chomh fada agus nach bhfuil sé bán. Cinntíonn sé seo go bhfuil bealach comhsheasmhach ann chun cosáin a chomhcheangal i dteimpléid.

Ardóidh socruithe tionscadail a sholáthraíonn ceachtar den dá shocrú gan slasc rianaithe `PendingDeprecationWarning` anois.

I Django 1.4 ardóidh an coinníoll céanna seo `DeprecationWarning`, agus i Django 1.5 ardóidh sé eisceacht `ImproperlyConfigurred`.

### Gach rud eile

Django [1.1](/ga/6.1/releases/1.1/) and [1.2](/ga/6.1/releases/1.2/) added
lots of big ticket items to Django, like multiple-database support,
model validation, and a session-based messages framework. However,
this focus on big features came at the cost of lots of smaller
features.

Chun cúiteamh air seo, bhí fócas an phróisis forbartha Django 1.3 ar go leor iarratais gné níos lú, fada a chur leis. Ina measc seo tá:

- Uirlisí feabhsaithe chun an réad reatha: class: ~django.contrib.sites.models.site a rochtain agus a ionramháil in:doc: creat \</ref/contrib/sites\> na láithreáin ghréamh.
- A: Aicme: ~ Django.Test.RequestFactory chun iarratais a mheaitseáil i dtástálacha.
- Dearbhú tástála nua --:meth: ~django.test.transactionTestCase.assertNumqueries \- rud a fhágann go bhfuil sé níos éasca gníomhaíocht an bhunachar sonraí a bhaineann le radharc a thástáil.
- Tacaíocht do chuardaigh a chuimsíonn caidreamh i admin 's:attr: ~django.contrib.admin.modeladmin.list\_filter.
- Tacaíocht do fhianáin [HTTPOnly](https://owasp.org/www-community/HttpOnly).
- [`mail_admins()`](/ga/6.1/topics/email/#django.core.mail.mail_admins) and
  [`mail_managers()`](/ga/6.1/topics/email/#django.core.mail.mail_managers) now support easily attaching
  HTML content to messages.
- [`EmailMessage`](/ga/6.1/topics/email/#django.core.mail.EmailMessage) now supports CC's.
- Áiríonn ríomhphoist earráide anois níos mó sonraí agus formáidiú leathanach earráide an fhreastalaí dífhabhtaithe.
- [`simple_tag()`](/ga/6.1/howto/custom-template-tags/#django.template.Library.simple_tag) now accepts a
  `takes_context` argument, making it easier to write simple
  template tags that require access to template context.
- A new [`render()`](/ga/6.1/topics/http/shortcuts/#django.shortcuts.render) shortcut -- an alternative
  to `django.shortcuts.render_to_response()` providing a
  [`RequestContext`](/ga/6.1/ref/templates/api/#django.template.RequestContext) by default.
- Tacaíocht chun: aicme: abairtí F \`a chomhcheangal le luachanna \<django.db.models.F\>\`timedelta\` agus luachanna bunachar sonraí á aisghabháil nó ag nuashonrú.

## Athruithe neamh-chomhoiriúnacha ar chúl i 1.3

### Baineann bailíochtú CSRF anois le hiarratais AJAX

Roimh Django 1.2.5, dhíolmhaigh córas cosc CSRF Django iarratais AJAX ó fhíorú CSRF; mar gheall ar [saincheisteanna slándála](https://www.djangoproject.com/weblog/2011/feb/08/security/) a thuairiscíodh dúinn, áfach, \* uil\* iarratais faoi réir fíorú CSRF anois. Téigh i gcomhairl:doc: an doiciméadú Django CSRF le haghaidh sonraí maidir le conas fíorú CSRF a láim\</ref/csrf\> hseáil in iarratais AJAX.

### Scagairí srianta i gcomhéadan admin

Roimh Django 1.2.5, cheadaigh comhéadan riaracháin Django scagadh ar aon réimse samhail nó gaol - ní amháin iad siúd a shonraítear i “list\_filter” - trí ionramháil sreangán fiosrúcháin. Mar gheall ar shaincheisteanna slándála a tuairiscíodh dúinn, áfach, ní mór argóintí cuardaigh sreangán fiosrúcháin sa riarachán a bheith le haghaidh réimsí nó caidrimh a shonraítear i `list_filter` nó `date_hierarchy`.

### Ní scriosann tú samhail comhaid ghaolmhara

I leaganacha Django níos luaithe, nuair a scriosadh samhail samhail ina raibh a:class: ~django.db.models.filefield, ghlac: :class: ~django.db.models.filefield leis an gcomhad a scriosadh ón stóráil cúltaca freisin. D'oscail sé seo an doras do roinnt cásanna caillteanais sonraí, lena n-áirítear idirbhearta rollta siar agus réimsí ar mhúnlaí éagsúla ag tagairt don chomhad céanna. I Django 1.3, nuair a scriostar samhail ní ghlaofar modh delete () ag: class: \`~Django.db.Models.FileField. Más gá duit comhaid dílleachta a ghlanadh, beidh ort é a láimhseáil tú féin (mar shampla, le ordú bainistíochta saincheaptha is féidir a reáchtáil de láimh nó a sceidealú le rith go tréimhsiúil trí e.g. cron).

### PasswordIompar rindreála réamhshocraithe Cuir isteach

Glacann an giuirléid fhoirme:class: ~django.forms.passwordInput, atá beartaithe le húsáid le réimsí foirme a léiríonn pasfhocail, le hargóint eochairfhocal boolean `render_value` a léiríonn an gcuid sonraí a sheoladh ar ais chuig an mbrabhsálaí nuair a thaispeántar foirm le hearráidí. Roimh Django 1.3, réamhshocraigh an argóint seo go “True”, rud a chiallaíonn go gcuirfí an pasfhocal curtha isteach ar ais chuig an mbrabhsálaí mar chuid den fhoirm. D'fhéadfadh forbróirí a raibh siad ag iarraidh beagán slándála breise a chur leis tríd an luach sin a eisiamh ón bhfoirm athléirithe a:: class: ~django.forms.passwordInput ag dul `Render_Value=False`.

Mar gheall ar nádúr íogair na bhpasfhocail, áfach, glacann Django 1.3 an chéim seo go huathoibríoch; is é “False” anois luach réamhshocraithe `render_value`, agus ní mór d'fhorbróirí atá ag iarraidh an luach pasfhocal a thabhairt ar ais chuig an bhbrabhsálaí ar aighneacht le hearráidí (an t-iompar roimhe seo) anois. Mar shampla:

```
class LoginForm(forms.Form):
    username = forms.CharField(max_length=100)
    password = forms.CharField(widget=forms.PasswordInput(render_value=True))
```

### Giuirléid réamhshocraithe inghlanaithe do FileField

Cuimsíonn Django 1.3 anois a: class: ~django.forms.clearaableFileInput giuirléid fhoirme i dteann:class: ~django.forms.fileInput. Tugann `ClearableFileInput` bosca seiceála chun luach an réimse a ghlanadh (mura bhfuil luach ag an réimse agus mura bhfuil sé riachtanach); ní sholáthraíodh FileInput\` aon bhealach chun comhad atá ann cheana a ghlanadh ó fileField.

Is é `ClearableFileInput` an giuirléid réamhshocraithe anois do FileField\`, mar sin caithfidh foirmeacha atá ann cheana lena n-áirítear `FileField` gan giuirléid saincheaptha a shannadh cuntas a thabhairt ar an mbosca seiceála breise féideartha san aschur foirme rindreáilte.

Chun filleadh ar an rindreáil roimhe seo (gan an cumas an FileField a ghlanadh), bain úsáid as an giuirléid `FileInput` in ionad `ClearableFileInput`. Mar shampla, i Modelfhoirme\` do mhúnla hipitéiseach `Doiciméad` le FileField\` darb ainm `doiciméad`:

```
from django import forms
from myapp.models import Document

class DocumentForm(forms.ModelForm):
    class Meta:
        model = Document
        widgets = {"document": forms.FileInput}
```

### Innéacs nua ar thábla seisiún bunachar sonraí

Roimh Django 1.3, ní raibh aon innéacs ag an tábla bunachar sonraí a úsáideann cúltaca an bhunachar sonraí don aip: doc: seisiús ar an gcolún expire\_date \</topics/http/sessions\>. Mar thoradh air sin, bheadh ceisteanna dáta-bhunaithe ar an tábla seisiúin - mar an cheist atá ag teastáil chun sean-sheisiúin a ghlanadh - an-mhall dá mbeadh go leor seisiúin ann.

Má tá tionscadal ann cheana agat atá ag úsáid cúltaca seisiúin bunachar sonraí, ní gá duit aon rud a dhéanamh chun freastal ar an athrú seo. Mar sin féin, b'fhéidir go bhfaighidh tú borradh suntasach feidhmíochta má chuireann tú an t-innéacs nua de láimh leis an tábla seisiúin. Is féidir an SQL a chuirfidh an t-innéacs a fháil tríd an ordú riaracháin sqlindexes\` a reáchtáil:

```shell
python manage.py sqlindexes sessions
```

### Níl níos mó focail dhánna

Chuir Django liosta de bhróbanna ar fáil (agus a fhorfheidhmiú) go stairiúil. Chuir an aip tráchtanna an liosta seo de bhráchtanna i bhfeidhm, ag cosc ar dhaoine tuairimí a chur isteach ina raibh ceann de na díobhálacha sin.

Ar an drochuair, bhí an teicníc a úsáidtear chun an liosta dochtúireachtaí seo a chur i bhfeidhm go hiomlán, agus seans go mbeadh an “fadhb Scunthorpe” \_ ann. Bheadh iarracht shuntasach ag teastáil leis an scagaire ionsuite a fheabhsú chun an fhadhb seo a shocrú, agus ós rud é nach é próiseáil teanga nádúrtha gnáthfhearann chreat gréasáin, tá an fhadhb “socraithe” againn trí liosta folamh a dhéanamh ar liosta na bhfocal toirmiscthe.

Más mian leat an sean-iompar a chur ar ais, ní gá ach socrú `PROFANITIES_LIST` a chur i do chomhad socruithe a chuimsíonn na focail ar mhaith leat a thoirmeasc (féach na:commit: commit: commit a chuir an t-athrú seo i bhfeidhm \<edd767d2612d891a906268cf590571f541dd164f\>\`más mian leat an liosta focal a fheiceáil a bhí toirmiscthe go stairiúil). Mar sin féin, má tá sé tábhachtach duit dífhabhachtaí a sheachaint, mholfaí duit cur chuige níos fearr, chomh naif a lorg maidir leis an bhfadhb.

### Athruithe Localflavour

Tugann Django 1.3 na hathruithe seo a leanas isteach ar bhlasanna áitiúla nach bhfuil comhoiriúnach ar gcúl:

- Ceanada (ca) - Tá a chód cúige nuashonraithe go “NL” sa chúige “Newfoundland and Labrador”, seachas an “NF” níos sine. Ina theannta sin, tá a chód cúige ceartaithe ag Críoch Yukon go “YT”, in ionad “YK”.
- An Indinéis (id) - Baineadh an cúige “Nanggroe Aceh Darussalam (NAD)” as liosta na gcúige i bhfabhar an ainmniú oifigiúil nua “Aceh (ACE)”.
- Stáit Aontaithe Mheiriceá (US) - Leathnaigh liosta na “stáit” a úsáideann ```UsStatefield` chun cóid poist na bhFórsaí Armtha a áireamh. Tá sé seo comhoiriúnach ar chúl má bhí tú ag brath ar ``UsStateField``` gan iad san áireamh.

### Nuashonruithe FormSet

I Django 1.3 athraítear iompar cruthaithe ```FormSet ``beagán. Go stairiúil níor rinne an rang idirdhealú idir gan sonraí a rith agus foclóir folamh a rith. Bhí sé seo neamhréidh le hiompar i gcodanna eile den chreat. Ag tosú le 1.3 má théann tú i bhfoclóir folamh ardóidh an ``FormSet``` `ValidationError`.

Mar shampla le `FormSet`:

```pycon
>>> class ArticleForm(Form):
...     title = CharField()
...     pub_date = DateField()
...
>>> ArticleFormSet = formset_factory(ArticleForm)
```

ardóidh an cód seo a leanas `Error Validation`:

```pycon
>>> ArticleFormSet({})
Traceback (most recent call last):
...
ValidationError: [u'ManagementForm data is missing or has been tampered with']
```

más gá duit `FormSet` folamh a chur isteach, ná cuir isteach sna sonraí nó bain úsáid as `None`:

```pycon
>>> formset = ArticleFormSet()
>>> formset = ArticleFormSet(data=None)
```

### Glaonna i dteimpléid

Roimhe seo, ní ghlaofaí glaoch inghlaonta i dteimpléad go huathoibríoch mar chuid den phróiseas réitigh athraitheach ach dá n-aisghairfí é trí chuardach tréithe. Neamhréireacht a bhí ann a d'fhéadfadh iompar mearbhall agus neamhchabhrach a bheith mar thoradh air:

```pycon
>>> Template("{{ user.get_full_name }}").render(Context({"user": user}))
u'Joe Bloggs'
>>> Template("{{ full_name }}").render(Context({"full_name": user.get_full_name}))
u'&lt;bound method User.get_full_name of &lt;...
```

Tá sé seo réitithe i Django 1.3 - is é U'Joe Bloggs'\` an toradh sa dá chás. Cé nach raibh an t-iompar roimhe seo úsáideach do theanga teimpléid a dearthaíodh do dhearthóirí gréasáin, agus nár tacaíodh d'aon ghnó riamh, is féidir go bhféadfadh roinnt teimpléid a bhriseadh leis an athrú seo.

### Úsáid SQL saincheaptha chun sonraí tosaigh a luchtú i dtástálacha

Soláthraíonn Django crúcaí SQL saincheaptha mar bhealach chun SQL lámhdhéanta a instealladh isteach sa phróiseas sioncrónaithe bunachar sonraí Ceann de na húsáidí féideartha don SQL saincheaptha seo ná sonraí a chur isteach i do bhunachar sonraí. Má tá ráitis `INSERT` i do SQL saincheaptha, déanfar na cuireadh isteach sin gach uair a dhéanfar do bhunachar sonraí a shioncronú. Áirítear leis seo sioncrónú aon bhunachar sonraí tástála a chruthaítear nuair a reáchtáil tú sraith tástála.

Mar sin féin, sa phróiseas chun an Django 1.3 a thástáil, fuarthas amach nár oibrigh an ghné seo riamh go hiomlán mar a fógraíodh. Agus cúltaca bunachar sonraí á úsáid nach dtacaíonn le hidirbhearta, nó nuair a bhíonn TransactionTestCase á úsáid agat, ní bheidh sonraí a cuireadh isteach ag úsáid SQL saincheaptha le feiceáil le linn an phróisis tástála.

Ar an drochuair, ní raibh aon bhealach ann chun an fhadhb seo a cheartú gan neamhoiriúnacht ar ais a thabhairt isteach. Seachas sonraí tosaigh a cuireadh isteach ag SQL a fhágáil i stát neamhchinnte, cuireann Django i bhfeidhm anois an beartas nach mbeidh sonraí a cuireadh isteach ag SQL saincheaptaí\* le feiceáil le linn na tástála.

Ní théann an t-athrú seo ach ar an bpróiseas tástála Is féidir leat SQL saincheaptha a úsáid fós chun sonraí a luchtú isteach i do bhunachar sonraí táirgeachta mar chuid den phróiseas syncdb. Má theastaíonn uait go mbeidh sonraí ann le linn coinníollacha tástála, ba cheart duit iad a chur isteach ag baint úsáide as: ref: daingneáin tástá \<topics-testing-fixtures\>la \`, nó ag baint úsáide as an modh \`\`Setup () de do cháis tástála.

### Tosaíocht athraithe ar luchtú aistriú

Tá obair déanta chun an t-algartam a úsáideann Django ag am rite a shimpliú, a chuíchóiriú agus a dhoiciméadú i gceart chun aistriúcháin a chruthú ó na haistriúcháin éagsúla a fhaightear ar diosca, mar atá:

Maidir le litríochtaí inaistrithe a fhaightear i gcód Python agus teimpléid (fearann gettext `` `django' ``):

- Athraíodh tosaíochtaí na n-aistriúcháin san áireamh le feidhmchláir atá liostaithe sa socrú: INSTALLED\_APPS. Chun iompar a sholáthar atá comhsheasmhach le codanna eile de Django a úsáideann socrú den sórt sin (teimpléid, srl.) Anois, agus an t-aistriúchán a chuirfear ar fáil á dtógáil, tá tosaíocht níos airde ag na feidhmchláir atá liostaithe ar dtús ná na cinn atá liostaithe níos déanaí.
- Anois is féidir na haistriúcháin a sheoltar le feidhmchláir a shárú trí úsáid a bhaint as an socrú [`LOCALE_PATHS`](/ga/6.1/ref/settings/#std-setting-LOCALE_PATHS) a bhfuil tosaíocht níos airde anois ag a n-aistriúcháin ná na haistriúcháin ar fheidhmchláir [`INSTALLED_APPS`](/ga/6.1/ref/settings/#std-setting-INSTALLED_APPS). Athraíodh an tosaíocht choibhneasta i measc na luachanna atá liostaithe sa socrú seo freisin ionas go mbeidh tosaíocht níos airde ag na cosáin a liostaítear ar dtús ná na cinn a liostaítear níos déanaí.
- Tá fo-eolaire áitiúil den eolaire ina bhfuil na socruithe, a théann i gcomhthráth leis agus ar a dtugtar an \*stiúrthóireacht tionscadaile\* de ghnáth á ndíchur san eisiúint seo mar fhoinse aistriúcháin. (tá tosaíocht na n-aistriúcháin seo idirmheánach idir iarratais agus:setting: \`LOCALE\_PATHS aistriúcháin). Féach ar an rannán [gnéithe luasghabháilte comhfhreagr](#loading-of-project-level-translations) den doiciméad seo.

Maidir le litríochtaí inaistrithe a fhaightear i gcód JavaScript (fearann `djangojs'` gettext):

- Mar an gcéanna leis na haistriúcháin fearainn `'django'`: Is féidir aistriúcháin a sheoltar le feidhmchláir a shárú trí úsáid a bhaint as an socrú [`LOCALE_PATHS`](/ga/6.1/ref/settings/#std-setting-LOCALE_PATHS) don fhearann ​​seo freisin. Tá tosaíocht níos airde ag na haistriúcháin seo ná na haistriúcháin ar phacáistí Python a cuireadh ar aghaidh chuig an radharc `javascript_catalog()`. Tá tosaíocht níos airde ag na cosáin a liostaítear ar dtús ná na cinn a liostaítear níos déanaí.
- Níor cuireadh aistriúcháin faoi fho-eolaire áitiúil den *stiúrthóir tionscadal* san áireamh riamh le haghaidh aistriúcháin JavaScript agus fanann siad sa chás céanna ag smaoineamh ar an suíomh sin a dhíscaoileadh.

### Bainistíocht idirbheart

Agus idirbhearta bainistithe á úsáid agat - is é sin, rud ar bith ach an modh réamhshocraithe uathchomhartha - tá sé tábhachtach nuair a bhíonn idirbheart marcáilte mar “salach”. Déanann an maisitheoir `commit_on_success` nó an django.middleware.transaction.transactionMiddleware idirbhearta salacha, agus cuireann `commit_manually` iallach orthu a dhúnadh go sainráite; idirbhearta glan “faigheann pas”, rud a chiallaíonn go ndéantar iad a rolladh ar ais ag deireadh iarratais nuair a dhúntar an nasc.

Go dtí Django 1.3, ní mharcáladh idirbhearta salach ach nuair a bhí Django ar an eolas faoi oibríocht mhodhnaithe a rinneadh iontu; is é sin, sábháladh samhail éigin, rinneadh roinnt nuashonrú nó scriosadh mórchóir, nó tugtar go sainráite ar an úsáideoir transaction.set\_dirty () . I Django 1.3, déantar idirbheart salach a mharcáil nuair a dhéantar oibríocht bunachar sonraí *aon n*.

Mar thoradh ar an athrú seo, ní gá duit idirbheart salach a shocrú go sainráite a thuilleadh nuair a fhorghníomhaíonn tú SQL amh nó nuair a úsáideann tú “SELECT” a mhodhnú sonraí. Mar sin féin, ní mór duit\* aon idirbhearta léite amháin atá á bhainistiú ag baint úsáide as commit\_manual () a dhúnadh go sainráite. Mar shampla:

```
@transaction.commit_manually
def my_view(request, name):
    obj = get_object_or_404(MyObject, name__iexact=name)
    return render_to_response("template", {"object": obj})
```

Roimh Django 1.3, oibreodh sé seo gan earráid. Mar sin féin, faoi Django 1.3, ardóidh sé seo a:class: ~django.db.transaction.transactionManagementError toisc go bhfágann an oibríocht léite a aisghabhann an cás `Myobject` an idirbheart i stát salach.

### Gan athshocrú pasfhocal d'úsáideoirí neamhghní

Roimh Django 1.3, bhí úsáideoirí neamhghníomhacha in ann ríomhphost athshocraithe pasfhocal a iarraidh agus a bhfocal faire a athshocrú. I Django 1.3 gheobhaidh úsáideoirí neamhghníomhacha an teachtaireacht chéanna le cuntas nach bhfuil ann.

### Glacann amharc athshocraithe pasfhocal anois le `from_email`

Glacann an radharc ```django.contrib.auth.views.password_reset () ``anois le paraiméadar ``from_email```, a chuirtear chuig modh ```save () ``password_reset_form``` mar argóint eochairfhocal. Má tá an dearcadh seo á úsáid agat le foirm athshocraithe pasfhocal saincheaptha, ansin beidh ort a chinntiú go nglacann modh save () d'fhoirm leis an argóint eochairfhocal seo.

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

Déanann Django 1.3 roinnt gnéithe a dhíspreagadh ó eisiúintí níos luaithe. Tacaítear leis na gnéithe seo fós, ach déanfar iad a dhíchur de réir a chéile thar na cúpla timthriall scaoilte amach romhainn.

Ardóidh an cód a bhaineann leas as aon cheann de na gnéithe thíos `PendingDeprecationWarning` i Django 1.3. Beidh an rabhadh seo ciúin de réir réamhshocraithe, ach féadfar é a chasadh air ag baint úsáide as modúl Python: MOD: rabhaigh, nó trí Python a reáchtáil le bratach `-Wd` nó `-Wall`.

I Django 1.4, beidh na rabhaidh seo ina DeprecationWarning\`, ar\* níl\* ciúin. I Django 1.5 bainfear tacaíocht do na gnéithe seo go hiomlán.

> **See also**
>
> Le haghaidh tuilleadh sonraí, féach an doiciméadúis:doc: Próiseas scaoileadh Django agus inn:doc: líne ama díphróiseálaí \</internals/release-process\> \</internals/deprecation\>.

### Tacaíocht `mod_python`

Níl scaoileadh ag an leabharlann mod\_python\` ó 2007 ná tiomantas ó 2008. Vótáil bord Fondúireachta Apache `mod_python` a bhaint as an tsraith tionscadal gníomhacha ina stórais rialaithe leaganacha, agus tá a phríomhfhorbróir tar éis a chuid iarrachtaí go léir a aistriú i dtreo an cúltaca mod\_wsgi níos éadroime, níos cobhsaí agus níos solúbtha.

Má tá an láimhseálaí iarratais mod\_python\` á úsáid agat faoi láthair, ba cheart duit do thionscadail Django a athúsáid ag baint úsáide as láimhseálaí iarratais eile. :doc: Is é mod\_wsgi an láimhseálaí iarrat\</howto/deployment/wsgi/modwsgi\> ais a mhol tionscadal Django, ach tacaítear le FastCGI freisin. Bainfear tacaíocht d'imscaradh mod\_python\` i Django 1.5.

### Tuairimí cineálacha ar fheidhm

Mar thoradh ar tuairimí cineálacha aicmbunaithe a thabhairt isteach, tá na tuairimí cineálacha bunaithe ar fheidhm a sholáthraíonn Django a chuir isteach. Rinneadh na modúil seo a leanas agus na tuairimí atá iontu a dhíchur:

- `django.views.generic.create_nuashonraithe`
- `django.views.generic.date_based`
- django.views.generic.list\_details \`\`
- `django.views.generic.simpl`

### Tástáil freagra cliant teimpléad\` tréith

Tugann  ag Django ar ais [`Response`](/ga/6.1/topics/testing/tools/#django.test.Response) réada anótáilte le faisnéis tástála breise. I leaganacha Django roimh 1.3, chuimsigh sé seo aitreabúid `teimpléad` ina raibh faisnéis faoi theimpléid a tugadh chun an freagra a ghiniúint: ceachtar Dada, réad [`Template`](/ga/6.1/ref/templates/api/#django.template.Template) amháin, nó liosta de :class :~django.template.Template réada. Mar gheall ar an neamhréireacht seo sna luachanna tuairisceáin (uaireanta liosta, uaireanta ní raibh) ba dheacair oibriú leis an tréith.

I Django 1.3 tá an tréith `template` a dhíchur i bhfabhar nua:attr: ~django.test.response.templates tréith, atá i gcónaí ina liosta, fiú mura bhfuil ach eilimint amháin nó gan aon eilimintí aige.

### `Djangotestrunner`

Mar thoradh ar thacaíocht a thabhairt isteach do unittest2, rinneadh gnéithe `Django.Test.Simple.DjangoTestRunner` (lena n-áirítear foirceannadh tástála teip tapa agus Ctrl-C) iomarcach. Mar gheall ar an iomarcaíocht seo, rinneadh `Djangotestrunner` a iompú ina rang sealbhóra áit folamh, agus bainfear é go hiomlán i Django 1.5.

### Athruithe ar ```url ``agus ``ssi```

Ligfidh an chuid is mó de na clibeanna teimpléad duit comhsheasmhainní nó athróga a rith isteach mar argóintí - mar shampla:

```html+django
{% extends "base.html" %}
```

ligeann duit teimpléad bonn a shonrú mar thairiseach, ach má tá athróg comhthéacs agat `templ` ina bhfuil an luach `base.html`:

```html+django
{% extends templ %}
```

tá sé dlíthiúil freisin.

Mar gheall ar thimpiste staire, áfach, tá an url \`\`agus \`ssi\` difriúil. Úsáideann na clibeanna seo an dara comhréir gan chóta, ach léirmhíníonn an argóint mar thrasuach. Ciallaíonn sé seo nach féidir athróg comhthéacs a úsáid mar sprioc chlib ```url ``agus `ssi```.

Marcann Django 1.3 tús an phróisis chun an timpiste stairiúil seo a cheartú. Cuireann Django 1.3 leabharlann teimpléad nua leis - `todhcha` \- a sholáthraíonn cur i bhfeidhm malartacha ar na clibeanna teimpléad ```url ``agus `ssi```. Cuireann an leabharlann “todhchaí” seo iompar i bhfeidhm a fhágann go bhfuil láimhseáil an chéad argóint comhsheasmhach le láimhseáil gach athróg eile. Mar sin, teimpléad atá ann cheana ina bhfuil:

```html+django
{% url sample %}
```

ba chóir iad a chur in ionad:

```html+django
{% load url from future %}
{% url 'sample' %}
```

Tá na clibeanna a chuireann an sean-iompar i bhfeidhm imithe i léig, agus i Django 1.5, cuirfear an t-iompar nua in ionad an tseaniompar. Chun comhoiriúnacht le leaganacha amach anseo de Django a chinntiú, ba cheart na teimpléid atá ann cheana a mhodhnú chun na leabharlanna agus an chomhréir nua `todhchaí` a úsáid.

### Athruithe ar na modhanna logála isteach an riaracháin

Sa leagan roimhe seo shainigh an aip riaracháin modhanna logála isteach in áiteanna éagsúla agus rinne sé neamhaird ar an gcur i bhfeidhm beagnach comhionann san aip auth Ba é fo-éifeacht a bhaineann leis an dúbailt seo ná glacadh in easnamh na hathruithe a rinneadh in:commit: r12634 \<c8015052d935a99a5c8f96434b2d0cd16d8a4e14\>\`chun tacú le tacú le sraith carachtair níos leithne d'ainmneacha úsáideora.

Athraíonn an scaoileadh seo meicníocht logála isteach an riaracháin chun fo-aicme den: class: ~django.contrib.auth.forms.AuthenticationForm a úsáid in ionad bailíochtú foirme láimhe. Baineadh an modh neamhdhoiciméadaithe roimhe seo `Django.contrib.admin.sites.adminsite.display_login_form'` i bhfabhar tréith nua:attr: ~django.contrib.admin.admin.adminsite.login\_form.

### Orduithe bainistíochta `reset` agus sqlreset \`

Tá na horduithe sin díscríofa. Is féidir na horduithe ```flush ``agus `sqlflush``` a úsáid chun gach rud a scriosadh. Is féidir leat ráitis ALTER TABLE nó DROP TABLE a úsáid de láimh freisin.

### GeodJango

- Rinneadh an feidhm-bhunaithe:setting: TEST\_RUNNER a úsáideadh roimhe seo chun an tsraith tástála GeodJango a fhorghníomhú, `django.contrib.gis.tests.run_gis_tests`, cuirtear as an riteoir rang-bhunaithe, Django.contrib.gis.tests.geodjangoTestSuiterunner\`.
- Previously, calling
  [`transform()`](/ga/6.1/ref/contrib/gis/geos/#django.contrib.gis.geos.GEOSGeometry.transform) would
  silently do nothing when GDAL wasn't available. Now, a
  [`GEOSException`](/ga/6.1/ref/contrib/gis/geos/#django.contrib.gis.geos.GEOSException) is properly raised
  to indicate possible faulty application code. A warning is now
  raised if [`transform()`](/ga/6.1/ref/contrib/gis/geos/#django.contrib.gis.geos.GEOSGeometry.transform) is
  called when the SRID of the geometry is less than 0 or `None`.

### `CZBirthNumberField.Clean`

Roimhe seo ghlac modh glan () réimse seo leis an dara argóint inscne, a cheadaigh seiceálacha bailíochtaithe níos láidre a dhéanamh, ach ós rud é nach bhféadfaí an argóint seo a rith riamh ón innealra foirme Django tá sé ar feitheamh ar dhíscaoileadh.

### `CompatCookie`

Roimhe seo, nocht `django.http` aicme `CompatCookie` neamhdhoiciméadaithe, a bhí ina fillteán bugfix timpeall an leabharlainne caighdeánach `Simplecookie`. De réir mar a bhíonn na socruithe ag gluaiseacht suas an sruth, tá sé seo níos luaithe anois - ba cheart duit from django.http allmhairiú SimpleCookie a úsáid ina ionad.

### Aistriúcháin\*leibhéal tionscadla\* a luchtú

Cuireann an scaoileadh seo de Django tús leis an bpróiseas díréitithe chun aistriúcháin atá lonnaithe faoin mbealán\* tionscadail mar a thugtar air a chuimsiú sa phróiseas tógála aistriúchá Is féidir an socrú: SETTING: LOCALE\_PATHS a úsáid don tasc céanna trí chonair an chórais chomhaid a chur le eolaire `locale` ina bhfuil aistriúcháin ar leibhéal tionscadail chuig luach an socraithe sin.

Réasúnaíocht don chinneadh seo:

- Is coincheap sainithe go scaoilte a bhí san *bealach tionscadal* i gcónaí (i ndáiríre, is é an t-eolaire a úsáidtear chun aistriúcháin ar leibhéal tionscadail a aimsiú an eolaire ina bhfuil an modúl socruithe ann) agus tá athrú ann i gcodanna eile den chreat chun stop a úsáid mar thagairt do shuíomh sócmhainní ag rith.
- Is gnách go dteipeann ar an bhfo-eolaire áitiúil a bhrath nuair a bhíonn an cás imscartha níos casta ná an ceann bunúsach. m.sh. teipeann air nuair is eolaire é an modúl socruithe (ticéad #10765).
- Tá fadhbanna aisteach forbartha agus ama imscartha ann mar an bhfíric gur féidir leis an subdir `project_dir/locale/` teachtaireachtaí earráide bréige a ghiniúint nuair a chuirtear eolaire an tionscadail le cosán Python (manage.py runserver déanann é seo) agus ansin comhraíonn sé leis an modúl leabharlainne caighdeánach, is teachtaireacht rabhaidh tipiciúil é seo:

  ```pytb
  /usr/lib/python2.6/gettext.py:49: ImportWarning: Not importing directory '/path/to/project/locale': missing __init__.py.
  import locale, copy, os, re, struct, sys
  ```
- Níor cuireadh an suíomh seo san áireamh sa phróiseas tógála aistriúcháin do litríochtaí JavaScript. Cuireann an diúltú seo deireadh leis an míchomhsheasmhacht sin.

### `PermWrapper` bogadh chuig `django.contrib.auth.context_processors`

I Django 1.2, thosaíomar an próiseas chun suíomh an phróiseálaí comhthéacs `auth` a athrú ó `django.core.context_processors` go django.contrib.auth.context\_processors\`. Mar sin féin, fágadh an rang tacaíochta PermWrapper\` ón imirce sin faoi dhearmad. I Django 1.3, aistríodh an rang `PermWrapper` chuig `django.contrib.auth.context_processors`, chomh maith leis an rang tacaíochta PermlookUpdict\`. Tá na ranganna nua comhionann go feidhmiúil lena seanleaganacha; níor athraigh ach suíomh an mhodúil.

### “XMLField” a bhaint

Nuair a scaoileadh Django den chéad uair, chuimsíonn Django `XMLField` a rinne bailíochtú XML uathoibríoch d'aon ionchur réimse. Mar sin féin, níor rinneadh an fheidhm bailíochtaithe seo ó tugadh isteach ```newforms`, roimh an scaoileadh 1.0. Mar thoradh air sin, tá ``XMLField``` mar a chuirtear i bhfeidhm faoi láthair neamh-idirdhealaithe go feidhmiúil ó shimple:class: ~django.db.models.textfield.

Ar an gcúis seo, tá Django 1.3 tar éis diúsceitheadh `XMLField` a rianú go tapa - in ionad dí-eisiúint dhá scaoileadh, bainfear `XMLField` go hiomlán i Django 1.4.

Tá sé éasca do chód a nuashonrú chun freastal ar an athrú seo - ní gá ach gach úsáid de ```XMLField` a chur in ionad ``Textfield`, agus bain an argóint eochairfhocal ``schema_path``` (má shonraítear é).
