Кіріспе

Python веб-керектік

Django ('/dʒ//æ//ŋ//ɡ//oʊ/ JANGgoh; кейде django деп стильделеді) – веб-серверде жұмыс істейтін, Python негізіндегі, ақысыз және ашық бастапқы коды бар веб-керектік. Ол модель-шаблон-көрініс (MTV) архитектуралық үлгісін қолданады. Оны Django Software Foundation (DSF) жүргізеді, бұл АҚШ-та 501(c)(3) коммерциялық емес ұйым ретінде құрылған тәуелсіз ұйым. Django-ның басты мақсаты – күрделі, дерекқорға негізделген веб-сайттарды құруды жеңілдету. Керектік компоненттердің қайта қолданылуына және «қосылуына» баса назар береді, кодтың аз болуын, байланыстың төмендеуін, жылдам дамуды және өз-өзіңді қайталамау принципін ұсынады. Python параметрлер, файлдар және деректер модельдері үшін де қолданылады. Django сонымен қатар интроспекция арқылы динамикалық түрде жасалатын және әкімшілік модельдер арқылы конфигурацияланатын, әкімшілік құру, оқу, жаңарту және жою интерфейсін де ұсынады. Django-ны пайдаланатын белгілі сайттардың қатарына Instagram, Mozilla, Disqus, Bitbucket, Nextdoor және Clubhouse кіреді.

Тарих

Django 2003 жылдың күзінде Lawrence Journal World газетінің веб-программашылары Адриан Холовати мен Саймон Уиллисон Python-ды қолданып қосымшалар жасауды бастағанда пайда болды. Джейкоб Каплан Мосс Саймон Уиллисонның тағылымдамасы аяқталуға аздай қалғанда, Django-ның дамуының алғашқы кезеңінде жұмысқа алынды. Ол 2005 жылдың шілдесінде BSD лицензиясымен көпшілікке ұсынылды. Бұл фреймворк гитарист Джанго Рейнхардтың құрметіне аталды. Адриан Холовати – Рейнхардтың музыкасынан шабыттанған рома ұлтының джаз гитаристі. 2008 жылдың маусым айында, жаңа құрылған Django Software Foundation (DSF) Django-ны болашақта қолдауға міндеттенетіні жарияланды.

Кеңейту мүмкіндігі

Django конфигурациялық жүйесі, үшінші тарап кодтарын, қайта пайдаланылатын қолданба талаптарына сәйкес келетін жағдайда, әдеттегі жобаға қосуға мүмкіндік береді. Фреймворктің бастапқы мүмкіндіктерін кеңейту үшін 5000-нан астам пакет қолжетімді, олар бастапқы құрал шеше алмаған мәселелерге шешімдер ұсынады: тіркеу, іздеу, API беру және пайдалану, CMS және т.б. Дегенмен, бұл кеңейтілгіштік ішкі компоненттердің өзара байланысымен шектеледі. Django философиясы компоненттердің еркін байланысын қарастырса да, шаблондық сүзгілер мен тегтер бір ғана қозғалтқыштың қолданылуын талап етеді, ал авторизация және әкімшілік қолданбалары ішкі ORM-ды пайдалануды міндеттейді. Бұл сүзгілердің немесе жиынтық қолданбалардың ешқайсысы да Django жобасын іске қосу үшін міндетті емес, бірақ қайта пайдаланылатын қолданбалар көбінесе оларға тәуелді болады, бұл әзірлеушілерді қолданбалар экожүйесінің толық мүмкіндіктерін пайдалану үшін ресми жиынтықты қолдануға итермелейді.

Сервердің орналасуы

Django-ны Apache, Nginx сияқты веб-серверлермен WSGI, Gunicorn немесе Cherokee арқылы бірге іске қосуға болады, бұл үшін flup (Python модулі) қолданылады. Django сондай-ақ FastCGI серверін іске қосу мүмкіндігіне ие, бұл Lighttpd немесе Hiawatha сияқты FastCGI-ды қолдайтын кез келген веб-сервердің артында пайдалануға мүмкіндік береді. WSGI стандартына сәйкес келетін басқа веб-серверлерді де қолдануға болады. Django ресми түрде бес дерекқоры серверін қолдайды: PostgreSQL, MySQL, MariaDB, SQLite және Oracle. Microsoft SQL Server-ді django mssql арқылы пайдалануға болады, ал IBM Db2, SQL Anywhere және Firebird үшін де ұқсас сыртқы бэкендтер бар. MongoDB және Google App Engine's Datastore сияқты NoSQL дерекқорларын қолдайтын django nonrel деп аталатын тармақ бар. Django-ны GlassFish немесе JBoss сияқты кез келген Java EE қолданба серверінде Python-мен бірге іске қосуға болады. Мұндай жағдайда дерекқорға қосылу үшін JDBC драйверлерін қамтамасыз ету мақсатында django jython орнатылуы керек, сонымен қатар Django-ны war форматына компиляциялауға мүмкіндік беретін функционал да қамтамасыз етіледі.

Нұсқалар тарихы

Django тобы кейде белгілі бір релиздерді "ұзақ мерзімді қолдау" (LTS) релиздері деп атайды. LTS релиздері қауіпсіздікті және деректерді жоғалтуды түзетулерді кепілдік берілген уақыт аралығында, әдетте 3+ жыл бойы, кейін релиздер қарқынына қарамастан қолданады. Версия Шығарылған күні Негізгі қолдау аяқталуы К кеңейтілген қолдау аяқталуы Ескертулер scope="row" format=dmy scope="row" format=dmy "жаңа әкімшілік панель" scope="row" format=dmy "magic removal" scope="row" format=dmy "newforms", тест құралдары scope="row" format=dmy API тұрақтылығы, ажыратылған әкімшілік панель, unicode scope="row" format=dmy Aggregates, транзакцияларға негізделген тесттер scope="row" format=dmy Бірнеше db қосылымы, CSRF, модельдерді растау scope="row" format=dmy format=dmy format=dmy Класс негізіндегі көріністер, статикалық файлдар scope="row" format=dmy format=dmy format=dmy Уақыт белдеулері, браузердегі, қолданбалардағы үлгілер. scope="row" format=dmy format=dmyformat=dmy Python 3 қолдау, конфигурацияланатын пайдаланушы моделі scope="row" format=dmy format=dmy format=dmy Малкольм Трединникке арналған, db транзакцияларды басқару, қосылымдарды біріктіру. scope="row" format=dmy format=dmyformat=dmy Миграциялар, қолданбаларды жүктеу және конфигурациялау. scope="row" format=dmy format=dmyformat=dmy Бірнеше шаблондық қозғалтқыштарға арналған жергілікті қолдау. Қолдау 2018 жылдың 1 сәуірінде аяқталды scope="row" format=dmy format=dmyformat=dmy Парольді автоматты түрде тексеру. Әкімшілік интерфейстің жаңа стилі. scope="row" format=dmy format=dmyformat=dmy PostgreSQL үшін толық мәтіндік іздеу. Жаңа стильдік орталық құрал. scope="row" format=dmy format=dmyformat=dmy Python 2.7 бағдарламасын қолдауға арналған соңғы нұсқа. Қолдау 2020 жылдың 1 сәуірінде аяқталды scope="row" format=dmy format=dmyformat=dmy Python 3-тің бірінші нұсқасы, URL маршруттау синтаксисі жеңілдетілді, мобильді құрылғыларға ыңғайлы әкімшілік панель. scope="row" format=dmy format=dmyformat=dmy Үлгі "көру" рұқсаты. Қауіпсіздік туралы хабарлама. scope="row" format=dmy format=dmyformat=dmy ASGI қолдау scope="row" format=dmy format=dmyformat=dmy Асинхронды көріністер мен мидлвер scope="row" format=dmy format=dmy 2024 сәуір Көптен көп қатынастарды қадағалау, Python 3.11 қолдауын қосты scope="row" format=dmy format=dmy 2023 сәуірінде pytz қолдау енді жойылды және Django 5.0-да алынып тасталады. scope="row" format=dmy 2023 сәуірінде 2023 желтоқсанда Асинхронды ORM интерфейсі, CSRF COOKIE MASKED параметрін орнату, форманы шығару, мысалы, форма. scope="row" format=dmy 2023 желтоқсаны 2026 сәуірі Psycopg 3 қолдау, ENGINE ретінде django.db.backends.postgresql екі кітапхананы да қолдайды. scope="row" format=dmy 2024 тамызы 2025 сәуірі