Slavus programing blog

My random programing (and other) tips.

Izašao Je Django 1.0

| Comments

Eto i to smo dočekali, službeno je izašao Django 1.0, http://www.djangoproject.com/weblog/2008/sep/03/1/.

Od zadnje objave vezije 0.96 promjenilo se dosta toga, a kako je 0.96 release objavljen skoro godinu dana ovaj release 1.0 se dugo čekao, a ljudi nestrpljivi, svi su korisitili trunk verziju koja je bila prihvatljivo stabilna.

E sad ljudi koji će prebacivati svoje postojeće projekte s vezije 0.96 na 1.0 imati će dosta posla, zbog Backwards Incompatible promjena, previše je da ih nabrajam pa za više detalja svratite na: http://code.djangoproject.com/wiki/BackwardsIncompatibleChanges.

Koje su se promjene dogodile od verzije 0.96 na 1.0 u brojkama:

  • 4000 comitova na svn
  • više od 2000 riješenih bugova
  • 350 000 linija koda promjenjenih, dodanih ili obrisanih
  • dodano 40000 linija dokumentacije

Sve ovo zvuči dosta impresivno no što od feature je dodano verziji 1.0:

  • refactoring dokumentacije, posebno mi se sviđa da se konačno i offline može koristii - http://docs.djangoproject.com/
  • refactoring admin aplikacije, ako ste koristili integriranu admin aplikaciju sad vam ne gine portanje, no stvar je dobro izvedena i sad je omogućena sitnija granulacija admin aplikacije i konačno je opis admin sučelja izdvojen iz opisa modela gdje mu nije bilo mjesto
  • Poboljšana podrša za Unicode (iako niti do sada nije bila loša)
  • Poboljšana ORM
  • Automatskoiescaping template varijabli
  • Dodan django.contrib.gis (GeoDjango) kao podršga za GIS(Geographic Information Systems).
  • Podrška za Pluggable file storage, tako se sad FileField i ImageField može preusmjeriti na Amazonov S3 ili npr. FTP a ne kao do sada samo na lokalno računalo gdje se vrti Django instanca
  • Django je kompatibilan sad i s Jython, no zašto bi ga netko vrtio na JVM-u?
  • Generic relations in forms and admin
  • Razlikovanje INSERT/UPDATE kod save() u nekom modelu
  • sitnija granulacija CacheMiddleware što omogućuje bolje upravljanje cachom
  • Refactorirani django.contrib.comments, moj omiljeni feature koji mi je zadavao najviše problema kod promjena na tranku, ako ste koristili stare komentare biti će potrebna migracija podataa
  • uklonjeni deprecated dijelovi (npr. nema više oldforms)

Pošto sam pratio razvoj Djanga što mi se posebno svidjelo u 1.0 verziji

  • newforms - super
  • comments framework
  • novi signali - pomoću njih se zgodne stvari mogu raditi
  • refactoring dokumentacije me posebno oduševio, sad konačno mogu imati weblike dokmentaciju i lokalno i nemoram ići na web, malo mi je teško čitati RST

Stvari koje mi fale u 1.0(a nadam se pojaviti će se u 1.1):

  • podrška za agregaciju u ORM, baš bezveze da nema te mogućnosti pa nemogu napraviti opibćan select SUM(polje) from table; već moram sam pisati svoj manager i SQL da mi to odvrti
  • podršak za više baza, priča se da posotji low-level API koji čak i radi, ali nažalost nije nigdje dokumentiran, dok high level API ne postoji

Kao poklon na kraju link na django šalabahter: http://www.mercurytide.co.uk/media/whitepapers/django-cheat-sheet/django10-cheat-sheet.pdf

Comments