Ak máte záujem o vývoj webových aplikácií, určite by vás Django zaujal. Django je v podstate webový vývojový rámec založený na Pythone. Bol navrhnutý tak, aby vám ušetril veľa času a aby bol vývoj webových aplikácií oveľa jednoduchší a zábavnejší. Môžete použiť Django na vytváranie a udržiavanie vysoko kvalitných webových aplikácií bez väčších problémov.

Samotný vývoj webu je kombináciou tvorivých a zábavných prvkov a veľa opakujúcich sa vecí. Čo robí Django, je to, že vám umožňuje sústrediť sa na zábavné kúsky a kľúčovú časť vašej webovej aplikácie, zatiaľ čo opakujúce sa časti menej komplikujú problémy. Inými slovami, poskytuje skratku k častým programovacím úlohám a abstrakciám bežných vzorcov vo vývoji webových aplikácií. Poskytuje tiež jasné dohovory o riešení problémov. Robí to všetko a zároveň vám v prípade potreby poskytuje slobodu pracovať mimo rámca rámca.

Čo je to webový rámec?

Predtým, ako predstavíme Django, musíme najskôr vedieť, aké webové rámce sú, vzhľadom na ich dôležitosť v dnešných webových aplikáciách. Aby sme porozumeli webovým rámcom, pozrime sa, ako kóduje aplikácia Python, keď nepoužívate rámec. Najjednoduchší spôsob, ako to dosiahnuť, je s Common Gateway Interface (CGI). Stačí si vytvoriť skript s výstupom HTML a potom ho uložiť pomocou. cgi rozšírenie na webový server. Pre jednoduché stránky je asi najlepší spôsob zápisu od nuly. Zrozumiteľnejšie je kód a nie je možné prečítať žiadny iný kód. Nasadenie je tiež jednoduchšie.

Napriek svojej jednoduchosti má tento prístup niekoľko výziev. Čo by ste napríklad urobili, keby ste potrebovali viac častí aplikácie na pripojenie k databáze? Ak pôjdete vyššie uvedenou metódou, budete musieť duplikovať kód pripojenia databázy v každom skripte CGI. Môže to byť nielen ťažkopádne, ale tiež to môže zvýšiť pravdepodobnosť, že dôjde k prepadnutiu ľudskej chyby. Najjednoduchšou metódou by však bolo dať tento kód do zdieľanej funkcie. Ak sa kód opätovne použije v rôznych prostrediach so samostatným heslom a databázou, budete musieť nakonfigurovať kód pre každé konkrétne prostredie.

Ak nemáte s Pythonom veľa skúseností, je pravdepodobnejšie, že urobíte menšie chyby, ktoré môžu spôsobiť zlyhanie aplikácie. Logika stránky by sa ideálne oddelila od zobrazovacích prvkov HTML, takže editor by mohol upravovať každý prvok bez ovplyvnenia druhého.

Webový rámec rieši tieto problémy vytvorením infraštruktúry na programovanie aplikácií. To vám pomôže zamerať sa na skutočne písanie správnejších a čistejších kódov. To je tiež to, čo robí Django.

Model-View-Controller

Django presne sleduje model Model-View-Controller (MVC), natoľko, že by ho bolo možné kategorizovať ako rámec MVC. Tento model rozdeľuje modelovanie domén, prezentácie a akcie založené na vstupoch používateľov do troch jedinečných tried. Aby ste to lepšie pochopili, stačí sa pozrieť na skript Python CGI.

Štandardný skript CGI bude obsahovať niektoré úvodné prvky HTML pre klientske rozhranie a potom pripojenie k databáze. Tu je príklad kódu databázového pripojenia v Python CGI:

connection = MySQLdb.connect (user = 'ABC', passwd = 'xxxxxxxx', db = 'my_db')

Potom máte príkaz na vykonanie dotazu. Potom musíte mať nejaký HTML na zobrazenie výsledkov dotazu v klientskom rozhraní. Nakoniec ukončíte spojenie jednoduchou linkou:

connection.close ()

Teraz máte s Djangom k dispozícii tri súbory Pythonu identifikované s ich súbormi. prípona py. Prvým by boli databázové tabuľky, models.py. Druhá by obsahovala aplikačnú logiku, views.py. A tretí by mal konfiguráciu URL, urls.py. Nakoniec by ste mali nejaké prvky HTML na prezentáciu výsledkov na klientskom rozhraní. Kľúčom je oddelenie na rôznych súboroch Pythonu; nemusíte sa obávať syntaxe.

Súbor models.py má popis databázovej tabuľky. Pomocou tejto triedy Python môžete namiesto opakovania príkazov SQL vytvárať, mazať, získavať a aktualizovať záznamy pomocou jednoduchého kódu Python. Súbor Views.py má obchodnú logiku a funkciou latest_books () je zobrazenie. Súbor urls.py určuje, aké zobrazenie sa požaduje pre danú adresu URL. Napríklad by ste mohli kódovať zobrazenie, ktoré sa má požadovať, v prípade, že prehliadač načíta adresu URL domény / príklad /. To znamená, že ak je vaša doména abc.com, návšteva adresy URL abc.com/example/ by nazýva túto funkciu.

Šablóna HTML popisuje návrh stránky. Používa šablónový jazyk a základné logické príkazy. Celkovo tieto kúsky zodpovedajú vzoru MVC.

MVC je metóda vývoja softvéru v tom, že model, ktorý je kódom na prístup a definovanie údajov, je oddelený od kontroléra, čo je logika smerovania požiadaviek, ktorá je tiež oddelená od pohľadu, čo je užívateľské rozhranie. MVC je užitočné v tom, že komponenty sú veľmi voľne spojené. Každá časť webovej aplikácie má teda svoje vlastné jediné účely a môže sa nezávisle meniť bez toho, aby sa drasticky museli meniť ďalšie kusy. Napríklad môžete zmeniť URL v ktorejkoľvek časti aplikácie a zmenilo by to implementáciu a bez toho, aby ste sa dotkli kódu Python, ktorý ju vykresľuje. Môžete premenovať tabuľku v databáze a určiť zmeny na jednom mieste bez výmeny desiatok súborov.

Odporúčané kurzy

  • Program na Windows 10
  • Kurz profesionálneho testovania softvéru
  • Tréningový balík pre programovanie Pythonu
  • Kompletné školenie Django

Stručná história Djanga

Teraz, keď už viete niečo o webových rámcoch, je načase sa trochu ponoriť do histórie Djanga. Vedieť, odkiaľ Django pochádza, vám môže pomôcť lepšie pochopiť, ako to funguje a ako používať jeho skratky. Ak vytvárate webové aplikácie, pravdepodobne už poznáte problémy spojené s CGI. Klasická cesta vývoja webu vyzerá takto:

  1. Píšete webovú aplikáciu od základov
  2. Napíšete druhú aplikáciu
  3. Uvedomujete si, že medzi oboma aplikáciami existuje niekoľko bežných prvkov
  4. Upravujete kód tak, aby aplikácia 1 mala rovnaký kód ako druhý
  5. Niekoľkokrát opakujete 2-4
  6. Uvedomujete si, že ste vytvorili rámec

Takto vznikol aj Django. Bol vytvorený z aplikácií v reálnom svete, ktoré napísal tím pre vývoj webových aplikácií v Kansase. Bola vytvorená v roku 2003, keď weboví programátori Adrian Holovaty a Simon Willison začali používať Python na vytváranie aplikácií.

Tím World Online, zodpovedný za údržbu a produkciu niekoľkých miestnych spravodajských serverov, videl obrovské výhody v prostredí pre vývoj webových aplikácií, ktoré bolo dané termínmi žurnalistiky. Pokiaľ ide o lokality, novinári a manažment chceli pridať funkcie a aplikácie, ktoré majú byť postavené na rýchlom rozvrhu, s upozornením na niekoľko dní alebo hodín. Títo dvaja vývojári potom vytvorili rámec pre vývoj webových aplikácií, ktorý šetrí čas a buduje spravovateľné aplikácie v stanovených termínoch.

Tím potom tento rámec vydal v lete 2005 ako softvér s otvoreným zdrojovým kódom a pomenoval ho Django po Djangovi Reinhardtovi, pravdepodobne jednomu z najväčších jazzových gitaristov všetkých čias. Od tej doby sa Django etabloval ako populárny open source projekt s tisíckami podporovateľov, prispievateľov a používateľov po celom svete. Dvaja z pôvodných vývojárov, Jacob a Adrian, stále poskytovali svoje centrálne pokyny pre rast rámca.

Prečo však diskutujeme o histórii Djanga? No, z dvoch dôvodov. Prvým je, že pomáha identifikovať a vysvetliť „sladké miesto“ softvéru. Django bol prenášaný mimo spravodajského prostredia, a preto je plný funkcií, ktoré sa najlepšie hodia pre stránky zamerané na obsah, ako napríklad Washington Post, Amazon a Craigslist, ktoré ponúkajú databázové a dynamické informácie. Django je napriek tomu dobré pre všetky dyamové webové stránky. Druhým dôvodom je to, že história Djanga vám pomáha pochopiť, ako sa formovala kultúra jeho komunity.

Django bol vytvorený z reálneho sveta a nie z komerčného produktu alebo akademického cvičenia. Výsledkom je, že sa vysoko zameriava na riešenie problémov, ktorým čelia pôvodní weboví vývojári, a problémov, ktorým súčasní vývojári stále čelia. To znamená, že Django vidí takmer každodenné zlepšenia. Posádka údržby rámu má mimoriadny záujem, aby sa ubezpečila, že nástroj šetrí čas vývojárovi a produkuje ľahko udržiavateľné aplikácie a tie, ktoré dobre fungujú pri vysokých zaťaženiach. Všetci chcú veci zjednodušiť, inými slovami.

Inštalácia Django

Teraz by malo byť celkom jasné, že Django je nástroj na zjednodušenie vývoja webových stránok. Inštalácia samotného nástroja však môže vzhľadom na počet pohyblivých častí v dnešných vývojových prostrediach webu urobiť niekoľko krokov.

Django je v podstate Python kód, takže beží kdekoľvek, kde Python robí, čo zahŕňa aj niektoré mobilné telefóny. Predpokladajme, že ho inštalujete na plochu alebo laptop alebo server. Pretože Django je napísané v jazyku Python, musíte mať nainštalovaný Python. Základné rámce Django s akoukoľvek verziou Pythonu od 2.5. Ak si nie ste istí, čo si vybrať, vyberte najnovšiu verziu Pythonu, pretože obsahuje jazykové funkcie a vylepšenia výkonu, ktoré by vás mohli považovať za užitočné.

Ak používate Mac alebo Linux, pravdepodobne už máte vo svojom počítači Python. Môžete to overiť tak, že prejdete na príkazový riadok a do príkazového riadka zadáte výraz „python“. Mali by ste vidieť niečo také:

Python 3.5.1 (v3.5.1: 37a07cee5969, 6. decembra 2015, 01:54:25)

(MSC v.1900 64 bit (AMD64)) na Win32

Ak chcete získať ďalšie informácie, napíšte „help“, „copyright“, „kredity“ alebo „licenciu“.

>>>

Ak to nevidíte, musíte si ho stiahnuť a nainštalovať. Po inštalácii musíte stiahnuť a nainštalovať Django. Môžete si vybrať z dvoch verzií: najnovšie oficiálne vydanie alebo krvácajúce vydanie webového vývoja. To, čo si vyberiete, je založené na tom, čo chcete. Ak chcete vyskúšať stabilnú verziu, prejdite na oficiálne vydanie. Ak chcete niečo s najnovšími funkciami a chcete prispieť do komunity a zvládnuť nedostatok stability, choďte na verziu pre vývoj webových aplikácií.

Najprv je najlepšie ísť na oficiálne vydanie. Najnovšiu nájdete na webovej stránke projektu Django. Ak máte linuxovú distribúciu s balíkom Django, choďte na verziu distribútora, aby ste dostali aj aktualizácie zabezpečenia.

Nastavenie databázy

Jediným predpokladom Djanga je, že máte fungujúcu inštaláciu Pythonu. Akonáhle budete mať toto nastavenie, môžete skoro začať písať webovú aplikáciu ihneď. Ako už bolo spomenuté, spoločnosť Django bola vyvinutá so zameraním na webové aplikácie orientované na obsah. Je teda pravdepodobné, že vytvoríte webovú stránku riadenú databázou. V takom prípade musíte nastaviť databázový server.

Django podporuje štyri databázové mechanizmy: MySQL, Oracle, SQLite 3 a PostgreSQL. Všetky motory pracujú rovnako dobre s hlavným rámcom. PostgreSQL sa odporúča, ak nemáte väzby na starý systém a môžete si zvoliť databázový backend.

Ak chcete nastaviť databázu, musíte nainštalovať a nakonfigurovať samotný server. Každá databáza, ktorú vyberiete, má svoj vlastný spôsob nastavenia, preto je potrebné sa na ňu odvolať. Po druhé, musíte nainštalovať knižnicu Python pre tento konkrétny databázový backend. Toto je kód tretej strany pre Python na prepojenie s databázou.

SQLite sa odporúča, ak experimentujete iba s Djangom a nechcete inštalovať server. Nevyžaduje si inštaláciu; dokáže čítať a zapisovať údaje do jedného súboru vo vašom systéme a podporuje ho Python 2.5 a vyšší. V systéme Windows je trochu ťažké získať binárne súbory ovládača databázy.

Ak sa rozhodnete pre MySQL, potrebujete MySQL 4.0 alebo vyšší, pretože staršie verzie nepodporujú funkcie Django. Musíte tiež nainštalovať balík MySQLdb zo stránky Django Project. Ak používate Linux, systém správy balíkov vašej distribúcie môže mať balík s názvom 'mysql-python', 'python-mysqldb' alebo 'python-mysql'.

Django pracuje s verziou 9i alebo vyššou Oracle Database Server. Knižnicu cx_Oracle musíte nainštalovať aj z webovej stránky cx-Oracle. Prípadne môžete Django používať úplne bez databázy, ak ju chcete používať iba na poskytovanie dynamických stránok bez odkazovania na databázu. Niektoré nástroje v Django si však vyžadujú databázu, a ak ju nemáte, spôsobí vám to stratu.

Odporúčané články

Tu je niekoľko článkov, ktoré vám pomôžu získať viac podrobností o programoch Python a Django for Web Development, takže stačí prejsť na odkaz.

  1. Python vs JavaScript - Naučte sa 11 užitočných rozdielov
  2. 10 najlepších otázok týkajúcich sa rozhovoru pre vývoj webových stránok, ktoré by ste mali vedieť
  3. 10 typov programovania v Pythone
  4. Python vs Ruby Performance a ich užitočné výhody
  5. Kľúčové rozdiely jazyka Python a JavaScript
  6. Python vs Go

Kategórie: