Django (web euskarria)
| Garatzailea | Django Software Foundation |
|---|---|
| Lehen argitaratzea | 2005eko uzatailaren 21a |
| Azken argitaratzea | Bertsioa: 6.0 |
| Formatu-mota | Web framework |
| Edukiontzia | Web aplikazioak |
| Beste batek edukitakoa | ORM, administrazio interfazea, URL bideratzea, Web UI |
| Formatu irekia? | Bai |
| Webgunea | https://www.djangoproject.com |
Django Python lengoaia bidez idatzitako web garapenerako framework irekia eta librea da. Hasieran Kansas estatuko Lawrence hiriko World Company enpresarentzat garatu zen, albisteetarako web orriak kudeatzeko helburuarekin. 2005eko uztailean kaleratu zen jendaurrean, BSD lizentziapean. Izena Django Reinhardt jazz gitarristatik hartu zuen.
Django-k Model–Template–View ( euskaraz, Txantiloi-bistako eredua) arkitektura-eredua jarraitzen du, Model–View–Controller (euskaraz, Kontrolatzaile-bistako eredua) ereduaren antzekoa[1]. 2008ko ekainean, Django Software Foundation (DSF) izeneko fundazio berriak hartu zuen proiektuaren ardura, irabazi-asmorik gabeko erakunde independente gisa.
Djangoren helburu nagusia da webgune konplexuak sortzea erraztea. Horretarako, berrerabilgarritasuna, osagaien konektagarritasuna eta hedagarritasuna sustatzen ditu, baita garapen azkarra eta «ez errepikatu zeure burua» (Don't Repeat Yourself, DRY) printzipioa ere[2]. Python programazio lengoaia erabiltzen da framework osoan —konfigurazioetan, fitxategietan eta datu-ereduetan barne—, horrek koherentzia eta sinpletasuna eskaintzen ditu garapenean.
Historia
[aldatu | aldatu iturburu kodea]Django 2003ko udazkenean sortu zen, Lawrence Journal-World egunkariko web programatzaileak, Adrian Holovaty eta Simon Willison, Python erabiltzen hasi zirenean aplikazioak garatzeko. Jacob Kaplan-Moss Djangoren garapenean goiz kontratatu zuten, Willisonen praktikak amaitu baino laster. 2005eko uztailean BSD lizentziapean publikoki argitaratu zen. Frameworkari Django Reinhardt gitarra-jotzailearen izena jarri zioten[3]. Holovaty erromani jazz gitarra-jotzailea da, eta Reinhardten musikak inspiratuta konposatzen du neurri batean. 2008ko ekainean, Django Software Foundation (DSF) izeneko fundazio berri bat sortuko zela iragarri zen, etorkizunean Django mantenduko zuena[4].
Ezaugarriak
[aldatu | aldatu iturburu kodea]Osagaiak
[aldatu | aldatu iturburu kodea]Bere nomenklatura propioa izan arren, hala nola, HTTP erantzunak sortzen dituzten objektu deigarriei "views" (euskaraz, bistak) izena jartzea, Django framework nagusia MVC arkitektura gisa ikus daiteke. Honako hauek osatzen dute: mapaketa objektu-erlazional bat (ORM, ingelesez) datu-ereduen (Python klase gisa definituta) eta datu-base erlazional baten artean bitartekotza egiten duena ("Model"); HTTP eskaerak prozesatzeko sistema batek, web txantiloi sistema batekin ("View"); eta adierazpen erregularretan oinarritutako URL banatzaile batek ("Controller").
Framework nagusian honako hauek ere sartzen dira:
- Web-zerbitzari arin eta autonomo bat garapenerako eta probarako.
- Formularioen serializazio eta balidazio sistema bat, HTML formularioen eta datu-basean gordetzeko egokiak diren balioen artean itzuli dezakeena.
- Txantiloi sistema bat, programazio objektu-orientatutik mailegutako herentzia kontzeptua erabiltzen duena.
- Cache framework bat, hainbat cache metodoetako edozein erabil dezakeena.
- Middleware klaseen laguntza, eskaeren prozesamenduaren hainbat fasetan esku hartu eta funtzio pertsonalizatuak gauzatu ditzaketenak.
- Barne banatzaile sistema bat, aplikazio baten osagaiek aurrez definitutako seinalearen bidez elkarri gertaerak jakinaraztea ahalbidetzen duena.
- Internazionalizazio sistema bat, Djangoren osagaien itzulpenak hainbat hizkuntzatara barne.
- Serializazio sistema bat, Django eredu instantzien XML eta/edo JSON irudikapenak ekoizteko eta irakurtzeko gai dena.
- Txantiloi motorraren gaitasunak zabaltzeko sistema bat.
- Pythonen integratutako unitate proba frameworkerako interfaze bat.
Aplikazio paketeak
[aldatu | aldatu iturburu kodea]Django banaketa nagusiak aplikazio kopuru bat ere biltzen ditu bere "contrib" paketean, besteak beste:
- Autentifikazio-sistema hedagarri bat.
- Administrazio-interfaze dinamikoa.
- RSS eta Atom sindikazio-jarioak sortzeko tresnak.
- "Sites" framework bat, Django instalazio bakar batek hainbat webgune exekutatzea ahalbidetzen duena, bakoitza bere eduki eta aplikazioekin.
- Webgune-mapak (ingelesez, sitemap) sortzeko tresnak.
- Integratutako arintzea cross-site request forgery, cross-site scripting, SQL injekzioa, pasahitzen haustura eta beste web eraso tipikoentzat, gehienak lehenespenez aktibatuta[5].
- Informazio geografiko sistemen (GIS) aplikazioak sortzeko framework bat.
Hedagarritasuna
[aldatu | aldatu iturburu kodea]Djangoren konfigurazio-sistemak hirugarrenen kodea proiektu arrunt batean konektatzea ahalbidetzen du, aplikazio berrerabilgarriaren konbentzioei jarraitzen badie[6]. 5.000 pakete baino gehiago daude eskuragarri frameworkaren jatorrizko portaera zabaltzeko, jatorrizko tresnak jorratu ez zituen arazoetarako irtenbideak eskainiz: erregistroa, bilaketa, APIaren hornidura eta kontsumoa, CMS (euskaraz, Eduki-kudeaketako Sistema), etab.
Hedagarritasun hori, hala ere, barne osagaien mendekotasunek arintzen dute. Django filosofiak akoplamendu askea inplikatzen duen bitartean, txantiloi iragazkiak eta etiketak motor-inplementazio bat suposatzen dute, eta, auth eta admin aplikazio paketedunek barne, ORM erabiltzea eskatzen dute. Filtro edo aplikazio paketatu horiek ez dira derrigorrezkoak Django proiektu bat martxan jartzeko; hala ere, aplikazio berrerabilgarriek askotan horiek behar izaten dituzte. Horrek garatzaileak Django bere ekosistema estandarraren parte gisa gomendatzen eta mantentzen dituen osagai, liburutegi eta konfigurazioen multzoa erabiltzen jarraitzera bultzatzen ditu, ekosistemako aplikazioek eskaintzen dituzten onura guztiak baliatu ahal izateko[7].
Zerbitzariaren antolakuntza
[aldatu | aldatu iturburu kodea]Django ASGI edo WSGI bateragarriak diren web-zerbitzarietan exekutatu daiteke. Djangok ofizialki bost datu-base backend onartzen ditu: PostgreSQL, MySQL, MariaDB, SQLite, eta Oracle[8]. Microsoft SQL Server mssql-djangorekin erabil daiteke.
Bertsioen historia
[aldatu | aldatu iturburu kodea]Django taldeak noizbehinka zenbait argitalpen "epe luzerako laguntza" (LTS, ingelesez) argitalpen gisa izendatuko ditu[9]. LTS argitalpenek segurtasun eta datu-galera konponketak jasotzen dituzte denbora jakin batean, normalean 3 urte edo gehiago. Ondorengo argitalpenen erritmoa edozein dela ere, LTS bertsioek konponketak jasotzen jarraitzen dute.
| Esanahia | |
|---|---|
| Ez mantenduta | |
| Mantenduta | |
| Oraingo bertsioa | |
| Hurrengo bertsioak |
| Bertsioak[10] | Kaleratze-Data | Oharrak |
|---|---|---|
| 0.90 | 2005eko azaroaren 16a | Lehen bertsioa |
| 0.91 | 2006ko urtarrilaren 11a | "new-administrator": administratzaile-interfazearen lehen berridazketa handia |
| 0.95 | 2006ko uztailaren 29a | "magic removal": barneko API zaharra kendu eta arkitektura modernorantz lehen jauzia |
| 0.96 | 2007ko martxoaren 23a | "newforms", testatzeko tresnak |
| 1.0 | 2008ko irailaren 3a | APIen egonkortasuna, administratzailea askatuta, unicode |
| 1.1 | 2009ko uztailaren 29a | Transakzioetan oinarritutako probak |
| 1.2 | 2010eko maiatzaren 17a | Datu-base konexio anitzak, CSRF, modeloen balidazioa |
| 1.3 | 2011ko martxoaren 23a | Klaseetan oinarritutako ikuspegiak, fitxategi estatikoak |
| 1.4 LTS | 2012ko martxoaren 23a | Ordu-eremuak, nabigatzaile-probak, aplikazio-txantiloiak |
| 1.5 | 2013ko otsailaren 26a | Python 3rako euskarria, erabiltzaile-eredu konfiguragarria |
| 1.6 | 2013ko azaroaren 6a | Malcolm Tredinnicken omenez; DB transakzioen kudeaketa, konexio biltegia |
| 1.7 | 2014ko irailaren 2a | Migrazioak, aplikazio-karga eta konfigurazioa |
| 1.8 LTS | 2015eko apirilaren 1a | Txantiloi-motor anitzeko euskarria; epe luzeko laguntza |
| 1.9 | 2015eko abenduaren 1a | Pasahitzen balidazio automatikoa; administratzaile-interfazearen estilo berriak |
| 1.10 | 2017ko urtarrilaren 17a | PostgreSQL bilaketa osoa; middleware estilo berria; Unicode erabiltzaile-izenak |
| 1.11 | 2017ko apirilaren 1a | Python 2.7rako azken euskarria |
| 2.0 | 2017ko abenduaren 1a | Python 3rako lehen bertsioa |
| 2.1 | 2018ko abuztuaren 1a | "bista" baimena ereduan |
| 2.2 LTS | 2019ko apirilaren 1a | Segurtasun-bertsioa |
| 3.0 | 2019ko abenduaren 2a | ASGI euskarria |
| 3.1 | 2020ko abuztuaren 4a | Bista eta middleware asinkronoak |
| 3.2 LTS | 2021eko apirilaren 6a | Erlazio anitzen aztarna; Python 3.11rako euskarria gehituta |
| 4.0 | 2021eko abenduaren 7a | Funtzio eta API garbiketa ugariak |
| 4.1 | 2022ko abuztuaren 3a | ORM interfaze-asinkronoaren lehen urratsak |
| 4.2 LTS | 2023ko apirilaren 3a | Psycopg 3rako euskarria |
| 5.0 | 2023eko abenduaren 4a | Facet motako iragazkiak administrazioan; formulario-eremuak bistaratzeko txantiloi sinpleak |
| 5.1 | 2024ko abuztuaren 7a | Python 3.13rako euskarria gehituta; PostgreSQL konexio-bideak gehitzea |
| 5.2 LTS | 2025eko apirilaren 2a | Lehen mailako gako konposatuetarako euskarria |
| 6.0 | 2025eko abenduan | |
| 6.1 | 2026ko abuztuan | |
| 6.2 LTS | 2027ko apirilean | |
| 7 | 2027ko abuztuan |
Komunitatea
[aldatu | aldatu iturburu kodea]DjangoCon
[aldatu | aldatu iturburu kodea]Django garatzaile eta erabiltzaileentzako urteroko konferentzia bat dago, "DjangoCon" izenekoa, 2008ko irailetik aurrera egiten dena. DjangoCon urtero egiten da Europan, maiatzean edo ekainean; beste bat Estatu Batuetan egiten da abuztuaren edo irailean, hiri desberdinetan[11].
Estatu Batuak
[aldatu | aldatu iturburu kodea]- 2012ko DjangoCon Washington, D.C.-n egin zen, irailaren 3tik 8ra.
- 2013ko DjangoCon Chicagon egin zen Hyatt Regency Hotel-ean eta konferentzia osteko Sprint-ak Digital Bootcamp-en, ordenagailu prestakuntza zentroan, antolatu ziren.
- 2014ko DjangoCon US Portlandera itzuli zen, OR, abuztuaren 30etik irailaren 6ra.
- 2015eko DjangoCon US Austin-en egin zen, TX, irailaren 6tik 11ra AT&T Executive Center-en.
- 2016ko DjangoCon US Philadelphian egin zen, PA, Pennsylvania Unibertsitateko Wharton School-en, uztailaren 17tik 22ra.
- 2017ko DjangoCon US Spokane-n egin zen, WA; 2018an DjangoCon US San Diegon egin zen, CA. DjangoCon US 2019 berriro San Diegon egin zen, CA, irailaren 22tik 27ra.
- DjangoCon 2021 birtualki egin zen eta 2022an, DjangoCon US San Diegora itzuli zen urriaren 16tik 21era. DjangoCon US 2023 urriaren 16tik 20ra egin zen Durham, NC kongresu zentroan eta DjangoCon US 2024 Durhamen ere egin zen irailaren 22tik 27ra.
- DjangoCon US 2025 irailaren 8tik 12ra egitea programatuta dago Chicagon, Illinois.
Europa
[aldatu | aldatu iturburu kodea]- DjangoCon Europa 2012 Zurichen antolatu zen, Suitzan[12].
- 2017ko konferentzia Florentzian bildu zen, Italian.
- 2018an, ekitaldia Heidelbergen egin zen, Alemanian[13].
- DjangoCon Europa 2019 Kopenhagen egin zen, Danimarkan[14].
- 2020ko edizioa ekitaldi birtual gisa egin zen[15].
- 2021ean, DjangoCon Europa birtualki egin zen COVID-19 pandemiagatik[16].
- 2022ko konferentzia Porton antolatu zen, Portugalen[17].
- 2023an, Edinburgh izan zen DjangoCon Europaren egoitza, Eskozian[18].
- 2024an, konferentzia Vigon antolatu zen, Espainian[19].
- DjangoCon Europaren 2025eko edizioa Dublinen egin zen, Irlandan, apirilaren 23tik 27ra[20].
Australia
[aldatu | aldatu iturburu kodea]Django mini-konferentziak normalean urtero egiten dira Australian Python Conference 'PyCon AU'-ren parte gisa[21]. Lehenago, mini-konferentzia hauek hemen egin dira:
- Hobart, Australia, 2013ko uztailan.
- Brisbane, Australia, 2014 eta 2015eko abuztuan.
- Melbourne, Australia 2016 eta 2017ko abuztuan.
- Sydney, Australia, 2018 eta 2019ko abuztuan.
Afrika
[aldatu | aldatu iturburu kodea]Afrikan egindako lehen DjangoCon konferentzia Tanzanian, Zanzibarren egin zen 2023ko azaroaren 6tik 11ra[22]. Ekitaldiak 22 herrialdeetako 200 parte-hartzaile inguru jaso zituen, 103 emakume barne. Konferentziak 26 hitzaldi izan zituen software-garapena, hezkuntza, ibilbideak, irisgarritasuna eta nekazaritza bezalako gaiei buruz, maiz Afrika kontinenteko ikuspegiak nabarmenduz. Konferentziaren etorkizuneko edizioak planifikatuta daude, xehetasunak webgune ofizialean eskuragarri daudelarik.
Komunitate taldeak eta programak
[aldatu | aldatu iturburu kodea]Djangok erabiltzaile-taldeak eta topaketak sortu ditu mundu osoan. Talde aipagarri bat Django Girls erakundea da, Polonian hasi zena baina orain 91 herrialdetakoak dituena[23].
Beste ekimen bat Djangonaut Space[24] da, Django ekosistemako kolaboratzaile berriei laguntza emateko mentoretza programa bat. Programak mentor esperimentatuak garatzaileekin parekatzen ditu Django eta bere komunitateari ekarpenik esanguratsuak egiten gidatzeko. Epe luzerako inplikazioa, inklusioita eta kode irekiko garapen kolaboratzailea azpimarratzen du.
Beste hizkuntzekiko loturak
[aldatu | aldatu iturburu kodea]Programatzaileek Djangoren txantiloi-motorraren diseinua Pythonetik beste hizkuntzetara igaro dute, plataforma anitzeko laguntza egokia eskainiz. Aukera horietako batzuk portu zuzenagoak dira; beste batzuek, Djangok inspiratuta eta haren kontzeptuak mantenduz, askatasuna hartzen dute Djangoren diseinutik aldentzeko, hala nola:
- Liquid Ruby-rako[25]
- Template::Swig Perl-erako
- Twig PHP eta JavaScript-erako
- Jinja Python-erako
- ErlyDTL Erlang-erako
Django web-euskarrian oinarritutako eduki-kudeketa sistemak
[aldatu | aldatu iturburu kodea]Django framework gisa CMS edo eduki-kudeaketa sistema osoa eraikitzeko gai da. Hurrengo sistemak Djangon oinarritzen dira:
- Django CMS[26]
- Wagtail
- Mezzanine
Bibliografia
[aldatu | aldatu iturburu kodea]- Holovaty, Adrian. (2009). The Django Book. Independently published.
- Das Python-Framework Django. Springer Berlin Heidelberg 2008, 447–461 or. ISBN 978-3-540-33134-6..
- Practical Django Projects: Modern Web Development with Python. Apress 2009.
- Django for Professionals: Production websites with Python & Django. Independently published 2020.
- High Performance Django. 2014.
Erreferentziak
[aldatu | aldatu iturburu kodea]- ↑ Walter, Thomas. (2008). «Das Python-Framework django» X.media.press (Springer Berlin Heidelberg): 447–461. ISBN 978-3-540-33134-6. (kontsulta data: 2025-12-03).
- ↑ (Ingelesez) «Design philosophies | Django documentation» Django Project (kontsulta data: 2025-12-03).
- ↑ (Ingelesez) «FAQ: General | Django documentation» Django Project (kontsulta data: 2025-12-03).
- ↑ (Ingelesez) «Announcing the Django Software Foundation» Django Project 2008-06-17 (kontsulta data: 2025-12-03).
- ↑ (Ingelesez) «Security in Django | Django documentation» Django Project (kontsulta data: 2025-12-03).
- ↑ «What is a reusable app? — django-reusable-app-docs 0.1.0 documentation» django-reusable-app-docs.readthedocs.io (kontsulta data: 2025-12-03).
- ↑ (Ingelesez) «How to deploy Django | Django documentation» Django Project (kontsulta data: 2025-12-03).
- ↑ (Ingelesez) «Databases | Django documentation» Django Project (kontsulta data: 2025-12-03).
- ↑ (Ingelesez) «Django’s release process | Django documentation» Django Project (kontsulta data: 2025-12-03).
- ↑ (Ingelesez) «Download Django» Django Project (kontsulta data: 2025-12-03).
- ↑ (Ingelesez) «So you want to hold a Django event?» Django Project (kontsulta data: 2025-12-03).
- ↑ «Home - 2012.djangocon.eu» 2012.djangocon.eu (kontsulta data: 2025-12-03).
- ↑ «DjangoCon Europe 2018» 2018.djangocon.eu (kontsulta data: 2025-12-03).
- ↑ (Ingelesez) «Join us in Copenhagen April 10-14th 🚲 • DjangoCon Europe 2019» 2019.djangocon.eu (kontsulta data: 2025-12-03).
- ↑ «DjangoCon Europe 2020» 2020.djangocon.eu (kontsulta data: 2025-12-03).
- ↑ «DjangoCon Europe 2021» 2021.djangocon.eu (kontsulta data: 2025-12-03).
- ↑ «DjangoCon Europe 2022» 2022.djangocon.eu (kontsulta data: 2025-12-03).
- ↑ (Ingelesez) Europe, DjangoCon. «About DjangoCon EU 2023» DjangoCon Europe (kontsulta data: 2025-12-03).
- ↑ «DjangoCon Europe 2024» 2024.djangocon.eu (kontsulta data: 2025-12-03).
- ↑ «Venue - DjangoCon Europe 2025» 2025.djangocon.eu (kontsulta data: 2025-12-03).
- ↑ «DjangoCon AU 2023 - Adelaide, South Australia - August 18 2023» 2023.djangocon.com.au (kontsulta data: 2025-12-03).
- ↑ «DjangoCon Africa 2025» 2025.djangocon.africa (kontsulta data: 2025-12-03).
- ↑ «Django Girls is a one-day workshop about programming in Python and Django for women» djangogirls.org (kontsulta data: 2025-12-03).
- ↑ (Ingelesez) «Djangonaut Space - Where contributors launch!» djangonaut.space (kontsulta data: 2025-12-03).
- ↑ (Ingelesez) Shopify. «Liquid template language» Liquid template language (kontsulta data: 2025-12-03).
- ↑ «django CMS - Enterprise Content Management with Django - django CMS» www.django-cms.org (kontsulta data: 2025-12-03).
Kanpo estekak
[aldatu | aldatu iturburu kodea]- (Gaztelaniaz) Django Proiektua
- (Gaztelaniaz) Django instalatzailea
- (Gaztelaniaz) Django komunitateko wiki eta kode biltegia
- (Ingelesez) Django Software Foundation