Nótaí scaoilte leagan 0.96 DjangoLink to this heading

Fáilte go dtí Django 0.96!

Is é an príomhsprioc do 0.96 ná glanadh agus cobhsú na ngnéithe a tugadh isteach i 0.95. Rinneadh cúpla athrú beag “neamh-chomhoiriúnach ar chúl” _ ó 0.95, ach ba chóir go mbeadh an próiseas uasghrádaithe simplí go leor agus níor cheart go mbeadh athruithe móra ag teastáil ó iarratais atá ann cheana.

Mar sin féin, táimid ag scaoileadh 0.96 anois freisin toisc go bhfuil sraith athruithe neamh-chomhoiriúnacha ar chúl againn sceidealta go luath amach anseo. Nuair a bheidh sé críochnaithe, beidh roinnt athruithe cód i gceist acu d'fhorbróirí feidhmchláir, mar sin molaimid duit cloí le Django 0.96 go dtí an chéad eisiúint oifigiúil eile; ansin beidh tú in ann uasghrádú a dhéanamh i gcéim amháin in ionad go gá athruithe incréideacha a dhéanamh chun coinneáil suas leis an leagan forbartha de Django.

Athruithe neamh-chomhoiriúnacha ar aisLink to this heading

D'fhéadfadh go n-éilíonn na hathruithe seo a leanas ort do chód a nuashonrú nuair a aistríonn tú ó 0.95 go 0.96:

Riachtanas leagan MySQLDBLink to this heading

Mar gheall ar fhabht i leaganacha níos sine den mhodúl Python MySQLDB (a úsáideann Django chun nascadh le bunachair sonraí MySQL), teastaíonn cúltaca MySQL Django leagan 1.2.1p2 nó níos airde de MySQLDB anois, agus ardóidh sé eisceachtaí má dhéanann tú iarracht leagan níos sine a úsáid.

Mura bhfuil tú in ann faoi láthair do chóip de MySQLDB` a uasghrádú chun an riachtanas seo a chomhlíonadh, cuireadh cúltaca ar leithligh, comhoiriúnach le cúl, ar a dtugtar “mysql_old”, le Django. Chun an cúltaca seo a úsáid, athraigh an socrú DATABASE_ENGINE i do chomhad socruithe Django as seo:

Code
DATABASE_ENGINE = "mysql"

chuige seo:

Code
DATABASE_ENGINE = "mysql_old"

Mar sin féin, molaimid go láidir úsáideoirí MySQL uasghrádú go leagan níos déanaí de MySQLDB` a luaithe is féidir, Ní sholáthraítear an cúltaca “mysql_old” ach chun an t-aistriú seo a mhaolú, agus meastar go bhfuil sé díluaite; seachas aon socruithe slándála riachtanacha, ní chothabharfar é go gníomhach, agus bainfear é i scaoileadh amach anseo de Django.

Tabhair faoi deara freisin nach bhfuil roinnt gnéithe, cosúil leis an socrú nua ``DATABASE_OPTIONS` (féach na:doc: doiciméadú bunachair sonraí </ref/databases> le haghaidh sonraí), ar fáil ach ar an gcúltaca “mysql”, agus ní chuirfear ar fáil do “mysql_old”.

Athraigh ainmneacha srianta bunachar sonraíLink to this heading

Tá athrú beagán tagtha ar fhormáid na n-ainmneacha srianta a ghineann Django le haghaidh tagairtí eachtracha. De ghnáth ní úsáidtear na hainmneacha seo ach nuair nach féidir an tagairt a chur go díreach ar an gcolún atá buailte, mar sin ní bhíonn siad le feiceáil i gcónaí.

Is é éifeacht an athraithe seo ná go bhféadfadh orduithe manage.py reset` agus orduithe comhchosúla i gcoinne bunachar sonraí atá ann cheana SQL a ghiniúint leis an bhfoirm nua ainm srianta, agus tá srianta ainmnithe sa seanfhoirm sa bhunachar sonraí féin; cuirfidh sé seo teachtaireacht earráide a ardú faoi srianta nach bhfuil ann a mhodhnú.

Más gá duit oibriú timpeall air seo, tá dhá mhodh ar fáil:

  1. Aischur manage.py` a atreorú chuig comhad, agus cuir an SQL a ghintear in eagar chun na hainmneacha srianta cearta a úsáid sula ndéantar é a chur i bhfeidhm.

  2. Scrúdaigh aschur manage.py sqlall chun na hainmneacha srianta stíl nua a fheiceáil, agus bain úsáid as sin mar threoir chun srianta atá ann cheana i do bhunachar sonraí a athainmniú.

Athruithe ainm i manage.py`Link to this heading

Tá roinnt de na roghanna chun manage.py` athraithe le tacaíocht daingneáin a chur leis:

  • Tá orduithe nua dumpdata agus loaddata` a dhéanfaidh, mar a bheifeá ag súil leis, sonraí a dhumpáil agus a luchtú chuig/ón mbunachar sonraí. Is féidir leis na horduithe seo oibriú i gcoinne aon cheann de na formáidí sraitheachaithe a fhaigheann tacaíocht ó Django.

  • Athainmníodh an t-ordú sqlinitialdata` go sqlcustom` chun béim a leagan ar chóir loaddata` a úsáid le haghaidh sonraí (agus sqlcustom le haghaidh tuairimí saincheaptha eile SQL --, nósanna imeachta stóráilte, srl.).

  • Baineadh an t-ordú vestigial install. Úsáid syncdb.

Athraíodh éalú cúltacaLink to this heading

Éalaíonn API bunachar sonraí Django anois cúltaca a thugtar mar pharaiméadair fiosrúcháin. Má tá aon chód API bunachar sonraí agat a mheaitseálann le backslashes, agus go raibh sé ag obair roimhe seo (in ainneoin an easpa éalaithe), beidh ort do chód a athrú chun na slashes a “díéalú” leibhéal amháin.

Mar shampla, úsáidtear é seo chun oibriú:

Code
# Find text containing a single backslash
MyModel.objects.filter(text__contains="\\\\")

Tá an méid thuas mícheart anois, agus ba chóir é a athscríobh mar:

Code
# Find text containing a single backslash
MyModel.objects.filter(text__contains="\\")

Bainte socrú ENABLE_PSYCOLink to this heading

Níl an socrú ENABLE_PSYCO` ann a thuilleadh. Má chuimsíonn do chomhad socruithe ENABLE_PSYCO ní bheidh aon éifeacht aige; chun Psyco a úsáid, molaimid rang middleware a scríobh chun é a ghníomhachtú.

Cad atá nua i 0.96?Link to this heading

Léiríonn an t-athbhreithniú seo os cionn míle tiomantas foinse agus os cionn ceithre chéad socruithe fabht, mar sin ní féidir linn na hathruithe go léir a chataló Anseo, déanaimid cur síos ar na hathruithe is suntasaí sa eisiúint seo.

Leabharlann foirmeacha nua saor in aisceLink to this heading

django.newforms is Django's new form-handling library. It's a replacement for django.forms, the old form/manipulator/validation framework. Both APIs are available in 0.96, but over the next two releases we plan to switch completely to the new forms system, and deprecate and remove the old system.

Tá trí ghné leis an aistriú seo:

  • We've copied the current django.forms to django.oldforms. This allows you to upgrade your code now rather than waiting for the backwards-incompatible change and rushing to fix your code after the fact. Just change your import statements like this:

    Code
    from django import forms  # 0.95-style
    from django import oldforms as forms  # 0.96-style
    
  • Bogfaidh an chéad eisiúint oifigiúil eile de Django an django.newforms reatha go django.forms. Is athrú comhoiriúnach ar chúl é seo, agus beidh ar aon duine atá fós ag úsáid an seanleagan de django.forms ag an am sin a ráitis iompórtála a athrú mar a thuairiscítear thuas.

  • Bainfidh an chéad eisiúint eile ina dhiaidh sin django.oldforms go hiomlán.

Cé go leanfaidh an leabharlann newfoirme ag forbairt, tá sé réidh le húsáid don chuid is mó de na cásanna coitianta. Molaimid do dhuine ar bith atá nua chun láimhseáil foirme an seanchóras foirmeacha a scipeáil agus tosú leis an nua.

Le haghaidh tuilleadh faisnéise faoi django.newforms`, léigh an:doc: `newforms documentation</topics/forms/index> `.

Feabhsuithe URLConfLink to this heading

Is féidir leat aon ghlaoch a úsáid anois mar an glaonna aisghlaonna in URLConfs (roimhe seo, ní cheadaíodh ach teaghráin a thagraíonn do ghlaonna). Ligeann sé seo úsáid i bhfad níos nádúrtha de URLConfs. Mar shampla, an URLConf seo:

Code
from django.conf.urls.defaults import *

urlpatterns = patterns("", ("^myview/$", "mysite.myapp.views.myview"))

is féidir é a athscríobh anois mar:

Code
from django.conf.urls.defaults import *
from mysite.myapp.views import myview

urlpatterns = patterns("", ("^myview/$", myview))

Is féidir cur i bhfeidhm úsáideach amháin de seo a fheiceáil agus maisitheoirí á úsáid agat; ligeann an t-athrú seo duit maisitheoirí a chur i bhfeidhm ar thuairim* i do URLConf*. Dá bhrí sin, is féidir leat dearcadh cineálach a dhéanamh logáil isteach go héasca:

Code
from django.conf.urls.defaults import *
from django.contrib.auth.decorators import login_required
from django.views.generic.list_detail import object_list
from mysite.myapp.models import MyModel

info = {
    "queryset": MyModel.objects.all(),
}

urlpatterns = patterns("", ("^myview/$", login_required(object_list), info))

Tabhair faoi deara go bhfuil an dá syntax (teaghráin agus glaonna) bailí, agus go leanfaidh siad bailí go dtí amach anseo.

An creat tástálaLink to this heading

Cuimsíonn Django creat tástála anois ionas gur féidir leat tosú ag athrú eagla go leamh (le leithscéal le Kent Beck). Is féidir leat tástálacha a scríobh bunaithe ar:mod: doctest nó: mod: unittest agus do thuairimí a thástáil le cliant tástála simplí.

Tá tacaíocht nua ann freisin do “daingneáin” - sonraí tosaigh, a stóráiltear in aon cheann de na foirmeacha sraith a thacaítear: doc:, a luchtálfar isteach i </topics/serialization> do bhunachar sonraí ag tús do thástálacha. Déanann sé seo tástáil le fíor-shonraí i bhfad níos éasca.

Féach: doc: an doiciméadú tástála le haghaidh na sonraí iomlá</topics/testing/index> na.

Feabhsuithe ar an gcomhéadan riaracháinLink to this heading

Athrú beag, ach ceann an-deas: cuireadh tuairimí tiomnaithe chun úsáideoirí a chur leis agus a nuashonrú leis an gcomhéadan riaracháin, mar sin ní gá duit a bheith buartha a thuilleadh faoi oibriú le pasfhocail hashaithe sa riarachán.

Go raibh maith agatLink to this heading

Ó 0.95 ó shin, tá roinnt daoine tar éis dul ar aghaidh agus glacadh ról mór nua i bhforbairt Django. Ba mhaith linn buíochas a ghabháil leis na daoine seo as a gcuid oibre crua go léir:

  • Russell Keith-Magee agus Malcolm Tredinnick as a gcuid mór-ranníocaíochtaí cód. Ní bheadh an scaoileadh seo indéanta gan iad.

  • Ár mbainisteoir scaoilte nua, James Bennett, as a chuid oibre maidir le 0.95.1, 0.96, agus (tá súil agam) scaoileadh amach anseo a fháil amach anseo.

  • Ár mbainisteoirí ticéad Chris Beaven (aka SmileyChris), Simon Greenhill, Michael Radziej, agus Gary Wilson. D'aontaigh siad glacadh leis an tasc iontach ár dticéid a chur isteach i aighneacht chatalógaithe go deas. Tá sé thart ar milliún uair níos éasca anois a fháil amach cad atá le bheith ag obair air; go raibh maith agat arís, daoine.

  • Gach duine a chuir tuarascáil fabht, paiste nó trácht ticéad isteach. Ní féidir linn buíochas a ghabháil le gach duine de réir ainm - chuir os cionn 200 forbróirí paistí isteach a chuaigh isteach i 0.96 - ach tá gach duine a chuir le Django liostaithe in:source: AUTHORS.