Django (/ˈdʒæŋɡoʊ/ JANG-goh) је бесплатан веб фрејмворк отвореног кода, написаног у Пајтону, који прати МВЦ архитектуру (МВЦ) архитектонски образац.Adrian Holovaty, Jacob Kaplan-Moss; et al. Одржаван је од стране Софтверске Фондације Django, независне организације основане као непрофитну 501(c)(3).
Главни циљ Django-а је да олакша прављење комплексних веб сајтова базираних на базама података. Django ставља акценат на поновно коришћење и "прикључност" компоненти, рапидно брз развој и принцип "не понављај се". Пајтон је коришћен све време, чак и за подешавања, фајлове, и моделе података. Django такође нуди опциони административни create, read, update и delete интерфејс који је генерисан динамично кроз самопосматрање и подешен кроз моделе администратора.
Неки познати сајтови који користе Django укључују Pinterest, Instagram,"What Powers Instagram: Hundreds of Instances, Dozens of Technologies". Mozilla, The Washington Times,Opensource.washingtontimes.com. Disqus,"Scaling Django to 8 Billion Page Views". Public Broadcasting Service,"20 Creative Websites Running Django" . и Bitbucket.
Историја Django је рођен на јесен 2003, када су веб програмери у Lawrence Journal-World новинама, Адријан Холовати и Сајмон Вилисон, почели да користе Пајтон да праве апликације."Django's History" . Избачен је јавно под BSD лиценцом у јулу 2005. Фрејмворк је именован по гитаристи Џанго Ренарт.
У јуну 2008, најављено је да ће новоформирана Софтверска Фондација Django убудуће одржавати Django.
Могућности
Компоненте thumb|Скриншот интерфејса администратора за подешавање корисничких налога Упркос томе што је имао сопствену номенклатуру, као што је именовање опозивних објеката који генеришу HTTP одговоре "прегледа", главни Django фрејмворк може бити виђен као МВЦ. Садржи објектно-релациони мапер (ОРМ) који посредује између модула података (дефинисаних као Пајтон класе) и релационих база података ("Модел"); систем за обраду HTTP захтева са системом веб шаблона ("Преглед") и диспечера веб адресе регуларног израза ("Контролор").
Такође укључени у фрејмворк су: лагани и самостални веб сервер за развој и тестирање форма серијализације и валидационог система који може да преводи између HTML форми и вредности погодних за складиште у бази података систем шаблона који омогућава концепт наслеђа позајмљеног од објектно-оргјенисаног програмирања Фрејмворк веб кеша који може да користи било који метод кеширања подршка за класе посредног софтвера која може да интервенише током разних фаза обраде захтева и да изврши ручно направљене функције унутрашњи диспечерски систем који дозвољава компонентама апликација да комуницирају између себе о догађајима преко претходно дефинисаних сигнала Систем интернационализације и локализације, укључујући преводе компоненти Django-а у разне језике Систем серијализације који може направити и читати XML и/или JSON репрезентације инстанце модела Django-а систем за проширивање могућности шаблона интерфејс до Пајтоновог уграђеног фрејмворка за тестирање јединице
Уграђене апликације Главна Django дистрибуција такође долази са многобројним уграђеним апликацијама у оквиру свог пакета, укључујући: систем аутентификације са могућношћу проширивања административни динамични интерфејс алатке за генерисање RSS и Atom прилива информација фрејмворк сајта који дозвољава једну Django инсталацију да буде покренута на више сајтова, при чему сваки има свој садржај и апликације алатке за генерисање Google Sitemaps уграђено смањење крос-сајтовских захтева фалсификата, cross-site scripting, SQL инјекцију, разбијање шифри и осталих типичних напада на вебу, од којих је највише њих већ укључено"Security in Django". Socol, James (2012). фрејмворк за прављење GIS апликација
Растегљивост Django-ов конфигурациони систем дозвољава код трећих лица да буде укључен у регуларни пројекат, имајући у обзир да прати конвенције апликације која је поново коришћена #cite_note-18 . Више од 2500 пакета је доступно да прошири понашање оригиналног фрејмворка, доносећи решења за проблеме коју оригинална алатка није могла: регистрација, претрага, АПИ одредба и потрошња, CMS, итд.
Ова растегљивост је, међутим, смањена интерним зависностима компоненти. Док Django филозофија имплицира лабаве везе, филтери шаблона и тагова сматрају једну имплементацију, и оба auth и admin уграђене апликације захтевају коришћење ОРМ-а. Ниједан од ових филтера или уграђених апликација су обавезне за покретање Django пројекта, али обновљиве апликације су склоне да од њих зависе, охрабрујући програмере да наставе са коришћењем званичних стекова у реду да би имали пуне бенефиције од екосистема апликација.
Серверски аранжмани Django може бити покренут у везнику са Apache, NGINX коришћењем WSGI, Gunicorn, или Cherokee коришћењем (модул Пајтона). Django такође укључује могућност покретања FastCGI сервера, омогућавајући коришћење ван било ког веб сервера који подржава FastCGI, као што је Lighttpd или Hiawatha. Такође је могуће користити друге WSGI-компатибилне веб сервере.How to use Django with Apache and mod_wsgi . Django званично подржава четири бек-енд базе података: PostgreSQL, MySQL, SQLite, и Oracle. Microsoft SQL Server може бити коришћен са django-mssql на Мајкрософт оперативним системима, док слични спољни бек-ендови постоје за IBM DB2, SQL Anywhere и Firebird. Постоји форк назван django-nonrel, који подржава NoSQL базе података, као што су MongoDB и Google App Engine продавница података.
Django такође може бити покренут у вези са Jython-ом на било ком Java EE апликационом серверу као што је GlassFish или JBoss. У овом случају django-jython мора бити инсталиран да би омогућио JDBC драјвере за повезивање базе података, који такође омогућава функционалност да се Django компајлује у одговарајући .war за развој .
Google App Engine укључује подршку за Django верзију 1.x.xRunning Pure Django Projects on Google App Engine. као једну од уграђених фрејмворкова.
Заједница
DjangoCon Постоји семи-годишња конференција за Django програмере и кориснике, названа "DjangoCon", која се одржава од септембра 2008. DjangoCon се одржава годишње у Европи, у мају или јуну;DjangoCon EU series , Lanyrd.com док друга се одржава у САД у септембру, обично у Портланду.DjangoCon US series , Lanyrd.com 2012 DjangoCon се одржао у Вашингтону од 3. до 8. септембра. 2013 DjangoCon се одржао у Чикагу у Hyatt Regency хотелу."DjangoCon".
Django мини-конференције су одржане у Хобарту, Аустралији у јулу 2013. и у Брисбејну, Аустралији у августу 2014.DjangoCon AU 2013 .
Други језици Django-ов шаблонски дизајн је пребачен на друге језике поред Пајтона, пружајући добру крос-платформску подршку. Неке од ових опција су више директни портови, док су други инспирисани Django-ом, задржавајући своје концепте при чему се више труди у одступању од дизајна Django-а. Swig за JavaScript Liquid за Ruby Template::Swig за Perl Twig за PHP Jinja за Python
Интегрисана окружења програмирања за Пајтон Док већина Django програмера користи уређивач текста као што су Vim, Emacs, TextMate или Sublime са Django Bundle за њихове пројекте, остали преферирају пајтон-специфичне алатке које доприносе дебаговању, преправљању, тестирању јединица, итд. Anjuta Aptana Studio са интегрисаним PyDev Codenvy Eclipse са PyDev Eric Python IDE IntelliJ IDEA са Django прикључком, омогућава функционалност сличну PyCharm Koding Komodo IDE Microsoft Visual Studio са Python Tools for Visual Studio MonoDevelop NetBeans са Django прикључком Ninja IDE PyCharm PyScripter Spyder (софтвер) SourceLair Wing IDE
Историја верзија Значење Red Неподржано Yellow Подржано Green Тренутна верзија
Version Date Notes 0.90"Introducing Django 0.90". Django weblog. Приступљено 2 February 2013. 0.91"Django 0.91 released". Django weblog. Приступљено 2 February 2013. "нови-admin" 0.95"Introducing Django 0.95". Django weblog. Приступљено 2 February 2013. "магично брисање" 0.96"Announcing Django 0.96!". Django weblog. Приступљено 2 February 2013. "newforms", алатке за тестирање 1.0"Django 1.0 released!". Django weblog. Приступљено 2 February 2013. АПИ стабилност, одвојен admin, unicode 1.1"Django 1.1 released". Django weblog. Приступљено 2 February 2013. Агрегати, тестови трансакција 1.2"Django 1.2 released". Django weblog. Приступљено 2 February 2013. Вишеструке конекције базе података, CSRF, валидација модела 1.3"Django 1.3 released". Django weblog. Приступљено 2 February 2013. Преглед класа, статични фајлови 1.4"Django 1.4 released". Django weblog. Приступљено 2 February 2013. Временске зоне, тестирање у прегледачу, шаблони апликација 1.5"Django 1.5 released" Django weblog. Приступљено 27 February 2013. Пајтон 3 подршка, подесив модел корисника 1.6"Django 1.6 released" Django weblog. Приступљено 6 November 2013. Посвећено Малколму Трединику, база података управљања трансакцијом, connection pooling. 1.7"Django 1.7 released" Django weblog. Приступљено 4 September 2014. Миграције, учитавање апликација и конфигурације. Добијаће сигурносне исправке бар до октобра 2015. 1.8"Django 1.8 released" Django weblog. Приступљено 2 April 2015. Нативна подршка за вишеструке шаблоне. Издање са дугачком подршком, подржана бар до априла 2018
Види још https://en.wikipedia.org/wiki/Comparison_of_web_application_frameworks
Библиографија Ова листа је извучена из Current Django Books
Референце
Спољашње везе
Two Scoops Press Curated List of Django Tutorials - Свеобухватна листа освежених Django туторијала. Tango with Django - Почетнички туторијал за веб програмирање са Django-ом. Taskbuster - Туторијал за искусне програмере који желе да науче Django. Django Packages - Директоријум поновно коришћених апликација, сајтова, алатки, и више за Django пројекте. Django Girls official tutorial . Туторијал је осмишљен за људе који су тек почели са учењем програмирања.
Категорија:Пајтон (програмски језик) Категорија:Слободни софтвер написан у Пајтону Категорија:Софтвер 2005. Категорија:Софтвер са BSD лиценцом