Django (tīmekļa ietvars)
![]() | |
|---|---|
| Sākotnējais autors | Adrians Holovatijs, Saimons Vilisons |
| Izstrādātājs | Django Software Foundation |
| Sākotnējā versija | 21 Jūlijs 2005[1] |
| Stabilā versija | 6.0 / 2025. gada 3. decembrī |
| Progr. valoda | Python |
| Veids | tīmekļa lietotņu ietvars |
| Licence | BSD Licence[2] |
| Repozitorijs |
|
| Tīmekļa vietne | www.djangoproject.com |
Django ir atvērtā pirmkoda tīmekļa lietotņu ietvars, kas sarakstīts Python programmēšanas valodā. Sākotnēji Django izstrādāja, lai pārvaldītu vairākus ziņu portālus, bet 2005. gada jūlijā atvēra tā pirmkodu ar BSD licences nosacījumiem. Django nosaukts džeza ģitārista Džango Reinharda vārdā.
Django ietvara galvenais mērķis ir atvieglot sarežģītu tīmekļa resursu radīšanu, kuru pamatā ir relāciju datu bāzu vadības sistēma. Galvenais uzsvars tiek likts uz komponenšu modularitāti un vēlreizēju izmantošanu, ātru izstrādi, kā arī DRY (Don't Repeat Yourself — 'neatkārtojies') principa ievērošanu. Django ir pilnībā uzrakstīts Python programmēšanas valodā — ieskaitot datu modeļus un konfigurācijas failus. Django ietver administrācijas saskarni, kas ļauj veidot, skatīt, labot un dzēst datubāzes ierakstus. Administrācijas saskarne tiek ģenerēta dinamiski, lietojot introspekciju, un to ir iespējams pielāgot.
Django ietvars izmantots tādās labi pazīstamās tīmekļa vietnēs kā Instagram,[3] Mozilla,[4] Disqus,[5] Bitbucket,[6] Nextdoor[7] un Clubhouse.[8]
Komponentes
[labot | labot pirmkodu]Lai gan Django lieto savu terminoloģiju (piemēram, HTTP atbildes ģenerējošas funkcijas ir "skati"), tas kopumā atbilst MVC arhitektūrai. Tā sastāvā ietilpst:
- objektu-relāciju kārtotājs (ORM, object-relational mapper), kas nodrošina saikni starp datu modeļiem (definētiem Python klašu formā) un relāciju DBVS ("Modelis"),
- sistēma HTTP pieprasījumu apstrādei un HTTP atbilžu ģenerēšanai izmantojot šablonus ("Skats"),
- uz regulārām izteiksēm bāzēts HTTP pieprasījumu maršrutētājs ("Kontrolieris").
Django standarta komplektācija ietver arī:
- Vienkāršu, patstāvīgu tīmekļa serveri izstrādei un testēšanai.
- Ievades formu izveides un pārbaudes sistēmu, kas no HTML formas saņemto informāciju sagatavo saglabāšanai datubāzē.
- Šablonu sistēmu, kas izmanto pārmantojamības paradigmu, līdzīgi kā objektorientētā programmēšanā.
- Kešošanas ietvaru, kas ļauj lietot vairākas kešošanas metodes.
- Starpprogrammatūras klašu atbalstu, kas ļauj dažādās HTTP pieprasījuma apstrādes fāzēs piemērot pielāgotas funkcijas.
- Iekšēju signalizēšanas sistēmu, kas ļauj lietotnes komponentēm savā starpā sūtīt un saņemt iepriekš definētu veidu signālus.
- Lokalizācijas sistēmu, ieskaitot Django iebūvēto komponenšu lokalizāciju.
- Serializācijas sistēmu, kas ļauj serializēt un deserializēt Django modeļu instances XML un JSON formātos.
- Integrāciju ar Python iebūvēto vienībtestēšanas funkcionalitāti.
Iekļautā programmatūra
[labot | labot pirmkodu]Django komplektācija ietver dažādas papildus lietotnes contrib pakotnē, tai skaitā:
- Paplašināmu autentifikācijas sistēmu.
- Automātiski veidotu administrācijas paneli.
- Rīkus RSS un Atom barotņu izveidei.
- Sites ietvaru, ar kura palīdzību viena Django instalācija var darbināt vairākas tīmekļa vietnes, katru ar atšķirīgu saturu un lietotnēm.
- Rīkus Sitemaps ģenerēšanai.
- Rīkus XSS, CSRF, SQL injekciju, paroļu uzlaušanas un citu tipisku draudu novēršanai. Lielākā daļa šo rīku ir aktīvi pēc noklusējuma.
- Rīkus ģeogrāfisko informācijas sistēmu izstrādei.
Paplašināmība
[labot | labot pirmkodu]Django projektus iespējams paplašināt, instalējot un pievienojot dažādu autoru uzturētas papildu komponentes. Ir pieejamas vairāk kā 5000 komponentes, kas Django standarta funkcionalitāti papildina ar risinājumiem lietotāju reģistrācijai, satura meklēšanai, API saskarnes nodrošināšanai, satura vadībai u.c.
Tīmekļa serveru un DBVS atbalsts
[labot | labot pirmkodu]Django lietotnes var darbināt tīmekļa serveros, kas atbalsta ASGI vai WSGI protokolus. Django oficiāli atbalsta piecas DBVS: PostgreSQL, MariaDB, MySQL, SQLite un Oracle. Izmantojot mssql-django pakotni, iespējams lietot arī Microsoft SQL Server.
Versiju vēsture
[labot | labot pirmkodu]| Versija | Datums[9] | Atbalsts beidzas | Pagarinātais atbalsts beidzas | Piezīmes[10] |
|---|---|---|---|---|
| 0.90[11] | 16.11.2005. | |||
| 0.91[12] | 11.01.2006. | |||
| 0.95[13] | 29.07.2006. | |||
| 0.96[14] | 23.03.2007. | |||
| 1.0[15] | 03.09.2008. | Unicode atbalsts | ||
| 1.1[16] | 29.07.2009. | Aggregātfunkcijas | ||
| 1.2[17] | 17.05.2010. | Vairāku DB savienojumu atbalsts, CSRF, modeļu validācija | ||
| 1.3[18] | 23.03.2011. | 23.03.2012. | 26.02.2013. | Ar klasēm veidoti skati (class based views), staticfiles |
| 1.4 LTS[19] | 23.03.2012. | 26.02.2013. | 01.10.2015. | Laika joslas |
| 1.5[20] | 26.02.2013. | 06.11.2013. | 02.09.2014. | Python 3 atbalsts, aizvietojams User modelis |
| 1.6[21] | 06.11.2013. | 02.09.2014. | 01.04.2015. | |
| 1.7[22] | 02.09.2014. | 01.04.2015. | 01.12.2015. | Migrācijas |
| 1.8 LTS[23] | 01.04.2015. | 01.12.2015. | 01.04.2018. | Vairāku šablonu bibliotēku atbalsts |
| 1.9[24] | 01.12.2015. | 01.08.2016. | 04.04.2017. | Jauns noformējums administrācijas saskarnei |
| 1.10[25] | 01.08.2016. | 04.04.2017. | 02.12.2017. | |
| 1.11 LTS[26] | 04.04.2017. | 02.12.2017. | 01.04.2020. | Pēdējā versija, kas atbalsta Python 2.7 |
| 2.0[27] | 02.12.2017. | 01.08.2018. | 01.04.2019. | Pirmā versija, kas atbalsta tikai Python 3, administrācijas saskarne pielāgota mobilajām ierīcēm |
| 2.1[28] | 01.08.2018. | 01.04.2019. | 02.12.2019. | |
| 2.2 LTS[29] | 01.04.2019. | 02.12.2019. | 11.04.2022. | |
| 3.0[30] | 02.12.2019. | 03.08.2020. | 06.04.2020. | ASGI atbalsts |
| 3.1[31] | 04.08.2020. | 06.04.2020. | 07.12.2021. | |
| 3.2 LTS[32] | 06.04.2021. | 07.12.2021. | 01.04.2024. | Python 3.11 atbalsts |
| 4.0[33] | 07.12.2021. | 03.08.2022. | 01.04.2023. | |
| 4.1[34] | 03.08.2022. | 05.04.2023. | 01.12.2023. | Atbalsts asinhronām ORM operācijām |
| 4.2 LTS[35] | 03.04.2023. | 04.12.2023. | 2026. g. aprīlis | Psycopg 3 atbalsts |
| 5.0[36] | 04.12.2023. | 07.08.2024. | 02.04.2025. | |
| 5.1[37] | 07.08.2024. | 02.04.2025. | 03.12.2025. | Python 3.13 atbalsts |
| 5.2 LTS[38] | 02.04.2025. | 03.12.2025. | 2028. g. aprīlis | |
| 6.0[39][40] | 03.12.2025. | 2026. g. augusts | 2027. g. aprīlis | |
Atbalsts beidzies Atbalstīts Pašreizējā versija | ||||
Atsauces
[labot | labot pirmkodu]- ↑ «Django FAQ». Skatīts: 2019. gada 27. marts.
- ↑ «django/LICENSE». GitHub. Skatīts: 2020. gada 8. septembris.
- ↑ «What Powers Instagram: Hundreds of Instances, Dozens of Technologies». Instagram Engineering.
- ↑ «Python». Mozilla Developer Network. Arhivēts no oriģināla, laiks: 2012. gada 8. februāris. Skatīts: 2016. gada 30. aprīlis.
- ↑ Matt Robenolt. «Scaling Django to 8 Billion Page Views». blog.disqus.com.
- ↑ «DjangoSuccessStoryBitbucket – Django». Arhivēts no oriģināla, laiks: 2016. gada 20. aprīlis. Skatīts: 2016. gada 30. aprīlis.
- ↑ «The anti-Facebook: one in four American neighborhoods are now using this private social network». The Verge. 2014. gada 18. augusts. Skatīts: 2016. gada 16. jūnijs.
- ↑ Luke Demi. «Reining in the thundering herd ⛈ Getting to 80% CPU utilization with Django». Clubhouse Blog (angļu), 2021. gada 15. augusts. Arhivēts no oriģināla, laiks: 2021. gada 15. augustā. Skatīts: 2021. gada 16. augusts.
- ↑ «Download Django - Django». www.djangoproject.com.
- ↑ «FAQ: Installation - Django documentation - Django». docs.djangoproject.com.
- ↑ "Introducing Django 0.90". Django weblog. Retrieved 2 February 2013.
- ↑ "Django 0.91 released". Django weblog. Retrieved 2 February 2013.
- ↑ "Introducing Django 0.95". Django weblog. Retrieved 2 February 2013.
- ↑ "Announcing Django 0.96!". Django weblog. Retrieved 2 February 2013.
- ↑ "Django 1.0 released!". Django weblog. Retrieved 2 February 2013.
- ↑ "Django 1.1 released". Django weblog. Retrieved 2 February 2013.
- ↑ "Django 1.2 released". Django weblog. Retrieved 2 February 2013.
- ↑ "Django 1.3 released". Django weblog. Retrieved 2 February 2013.
- ↑ "Django 1.4 released". Django weblog. Retrieved 2 February 2013.
- ↑ "Django 1.5 released" Django weblog. Retrieved 27 February 2013.
- ↑ "Django 1.6 released" Django weblog. Retrieved 6 November 2013.
- ↑ "Django 1.7 released" Django weblog. Retrieved 4 September 2014.
- ↑ "Django 1.8 released" Django weblog. Retrieved 2 April 2015.
- ↑ "Django 1.9 released" Django weblog. Retrieved 1 December 2015.
- ↑ "Django 1.10 released" Django weblog. Retrieved 1 August 2016.
- ↑ "Django 1.11 released" Django weblog. Retrieved 4 April 2017.
- ↑ "Django 2.0 released" Django weblog. Retrieved 3 December 2017.
- ↑ "Django 2.1 released" Django weblog. Retrieved 2 August 2018.
- ↑ Django 2.2 release notes. Retrieved 1 July 2019.
- ↑ Django 3.0 release notes. Retrieved 2 December 2019.
- ↑ «Django 3.1 release notes | Django documentation». Django Project (angļu). Skatīts: 2026-02-16.
- ↑ «Django 3.2 release notes». 2021. gada 6. aprīlis. Skatīts: 2021. gada 7. jūnijs.
- ↑ «Django 4.0 release notes». 2021. gada 7. decembris. Skatīts: 2022. gada 4. augusts.
- ↑ «Django 4.1 release notes». 2022. gada 3. augusts. Skatīts: 2022. gada 4. augusts.
- ↑ «Django 4.2 release notes». Skatīts: 2022. gada 4. augusts.
- ↑ «Django 5.0 release notes». 2023. gada 4. decembris. Skatīts: 2023. gada 4. decembris.
- ↑ «Django 5.1 release notes». 2024. gada 7. augusts. Skatīts: 2024. gada 8. augusts.
- ↑ «Django 5.2 release notes». 2025. gada 2. aprīlis. Skatīts: 2025. gada 23. februāris.
- ↑ «Django 6.0 Roadmap». December 2025. Skatīts: 2025. gada 23. februāris.
- ↑ «Django 6.0 release notes». Django Project (angļu). 2025. gada 3. decembris. Skatīts: 2025. gada 3. decembris.
Ārējās saites
[labot | labot pirmkodu]
Vikikrātuvē par šo tēmu ir pieejami multivides faili. Skatīt: Django.- Oficiālā tīmekļa vietne
- DjangoSnippets — moduļi
- Google vēstkopa — Django lietotāji
- Google vēstkopa — Django attīstītāji
- Django meklētājs — meklē informāciju ar django tematiku saistītos resursos
- Django špikeris Arhivēts 2007. gada 14. jūnijā, Wayback Machine vietnē.
- DjangoSites
