Če vas zanima spletni razvoj, bi Django zagotovo našli zanimivo. Django je v bistvu okvir spletnega razvoja, ki temelji na Pythonu. Zasnovan je tako, da prihranite veliko časa in naredite razvoj spleta veliko bolj preprost in zabaven. Django lahko uporabite za izdelavo in vzdrževanje kakovostnih spletnih aplikacij brez večjega hrupa.

Spletni razvoj sam po sebi je mešanica ustvarjalnosti in zabavnih elementov ter kup ponavljajočih se stvari. Django naredi to, da se osredotoči na zabavne koščke in ključni del vaše spletne aplikacije, hkrati pa ponavljajoče se dele manj težav. Z drugimi besedami, ponuja bližnjico do pogostih programskih nalog in odvzem skupnih vzorcev v spletnem razvoju. Prav tako daje jasne konvencije o reševanju problemov. Vse to počnete, hkrati pa vam daje tudi svobodo dela zunaj okvirnega okvira, kadar je to potrebno.

Kaj je spletni okvir?

Preden predstavimo Django, moramo najprej vedeti, kakšni so spletni okviri, glede na njihov pomen v današnjih spletnih aplikacijah. Da bi razumeli spletne okvire, si poglejmo, kako program Python kodira, ko ne uporabljate ogrodja. Najenostavnejši način je to s skupnim vmesnikom Gateway (CGI). Morate ustvariti skript z izhodom HTML in skript shraniti z. cgi razširitev na spletni strežnik. Za preproste strani je verjetno najboljši pristop pisanja iz nič. Koda je preprostejša za razumevanje in druge kode za branje ni. Prav tako je enostavnejša namestitev.

Kljub preprostosti je pristop z več izzivi. Na primer, kaj bi naredili, če bi za povezavo z bazo podatkov potrebovali več delov aplikacije? Če greste po zgornji metodi, bi morali v vsaki skripti CGI podvojiti kodo za povezovanje baze podatkov. To ni samo okorno, temveč lahko poveča tudi možnosti, da se človeške napake plazijo. Toda lažja metoda bi bila, če bi to kodo postavili v skupno funkcijo. Ko se koda ponovno uporabi v različnih okoljih z ločenim geslom in bazo podatkov, boste morali kodo konfigurirati za vsako specifično okolje.

Če s Pythonom nimate veliko izkušenj, je večja verjetnost, da boste naredili manjše napake, ki lahko povzročijo sesutje aplikacije. Logika strani bi bila v idealnem primeru ločena od elementov HTML, tako da bi lahko urejevalnik urejal vsak element, ne da bi pri tem vplival na druge.

Spletni okvir rešuje ta vprašanja z oblikovanjem infrastrukture za programske aplikacije. Tako se lahko osredotočite na dejansko pisanje bolj vzdržne in čistejše kode. To počne tudi Django.

Model-View-Controller

Django natančno sledi vzorcu Model-View-Controller (MVC), tako da bi ga lahko skorajda uvrstili v okvir MVC. Ta vzorec loči modeliranje domen, predstavitve in delovanje, ki temelji na uporabnikovem vnosu, v tri edinstvene razrede. Če želite to bolje razumeti, si oglejte skript Pyghon CGI.

Standardni skript CGI bo vključeval nekaj uvodnih elementov HTML za sprednji del in nato povezavo z bazo podatkov. Tu je primer kode povezave z bazo podatkov v Python CGI:

povezava = MySQLdb.connect (uporabnik = 'ABC', passwd = 'xxxxxxxx', db = 'my_db')

Po tem imate ukaz za izvedbo poizvedbe. Nato imate nekaj HTML za prikaz rezultatov poizvedbe v sprednjem delu. Končno povezavo zaključite s preprosto linijo:

connection.close ()

Z Django imate tri datoteke Python, identificirane z njihovimi. py pripona. Prva bi bila tabele zbirke podatkov, models.py. Drugi bi vseboval logiko aplikacije, views.py. Tretji pa bi imel konfiguracijo URL-ja, urls.py. Končno bi imeli nekaj elementov HTML, s katerimi bi rezultate predstavili na sprednji strani. Tu je ključna ločitev na različne datoteke Python; ni vam treba skrbeti za skladnjo.

Datoteka models.py vsebuje opis tabele baze podatkov. S tem razredom Python lahko ustvarite, izbrišete, pridobite in posodobite zapise z uporabo preproste kode Python namesto ponavljanja stavkov SQL. Datoteka views.py ima poslovno logiko, pogled najnovejše_books () pa je pogled. Datoteka urls.py določa, kateri pogled se kliče za določen URL. Na primer, lahko kodirate pogled, ki ga je treba poklicati, če brskalnik naloži URL / primer domene /. To pomeni, da če bo vaša domena abc.com, obisk URL abc.com/example/ pokliče to funkcijo.

Predloga HTML opisuje zasnovo strani. Uporablja jezik predloge in osnovne logične izjave. Vsi deli sledijo vzorcu MVC.

MVC je metoda razvoja programske opreme v tem, da je model, ki je koda za dostop in definiranje podatkov, ločen od krmilnika, kar je logika usmerjanja zahteve, ki je tudi ločena od pogleda, ki je uporabniški vmesnik. MVC je uporaben, ker so komponente zelo ohlapno povezane. Vsak del spletne aplikacije ima tako svoje posebne namene in jih je mogoče neodvisno spremeniti, ne da bi morali drastično spremeniti druge dele. Na primer, lahko URL spremenite v katerem koli delu aplikacije in spremenil bo izvajanje, ne da bi se dotaknil kode Python, ki ga bo upodobil. Tabelo lahko v bazi podatkov preimenujete in na enem mestu določite spremembe, ne da bi zamenjali desetine datotek.

Priporočeni tečaji

  • Program v sistemu Windows 10
  • Tečaj strokovnega testiranja programske opreme
  • Paket usposabljanja za programiranje Python-a
  • Popolno usposabljanje Django

Kratka zgodovina Djanga

Zdaj, ko veste malo o spletnih okvirih, je čas, da se malo podamo v zgodovino Djanga. Če veste, od kod prihaja Django, boste lažje razumeli, kako deluje in kako upravljate s svojimi bližnjicami. Če gradite spletne aplikacije, bi verjetno že poznali težave, povezane s CGI. Klasična pot spletnega razvoja poteka tako:

  1. Spletno aplikacijo napišete od začetka
  2. Napišete drugo prošnjo
  3. Zavedate se, da je med obema aplikacijama več skupnih elementov
  4. Kodo ponovno spremenite, tako da ima aplikacija 1 isto kodo kot druga
  5. Nekajkrat ponovite 2-4
  6. Zavedaš se, da si oblikoval okvir

Tako je nastal tudi Django. Nastala je iz aplikacij iz resničnega sveta, ki jih je napisala ekipa za razvoj spletnih strani v Kansasu. Nastala je leta 2003, ko sta spletna programerja Adrian Holovaty in Simon Willison začela uporabljati Python za gradnjo aplikacij.

Svetovna spletna ekipa, zadolžena za vzdrževanje in izdelavo več lokalnih spletnih novic, je v okolju spletnega razvoja videla velike koristi, ki so jih narekovali novinarski roki. Za spletna mesta so novinarji in vodstvo želeli, da se dodajo funkcije in hitro gradijo aplikacije, z odpovednimi dnevi ali urami. Dva razvijalca sta nato oblikovala okvir spletnega razvoja, s katerim sta prihranila čas in gradila vzdržne aplikacije v rokih.

Ekipa je nato poleti 2005 izdala ogrodje kot odprtokodno programsko opremo in jo poimenovala Django po Djangu Reinhardtu, ki je bil verjetno eden največjih džezovskih kitaristov vseh časov. Od takrat se je Django uveljavil kot priljubljen odprtokodni projekt s tisoči podpornikov, prispevkov in uporabnikov po vsem svetu. Dva prvotna razvijalca, Jacob in Adrian, sta še vedno dajala osrednja navodila za rast okvira.

Toda zakaj sploh razpravljamo o zgodovini Djanga? No, iz dveh razlogov. Prva je ta, da pomaga prepoznati in razložiti 'sladko mesto' programske opreme. Django je bil zasnovan iz novic in je zato poln funkcij, ki so najbolj primerne za vsebinsko usmerjena spletna mesta, kot so Washington Post, Amazon in Craigslist, saj ponujajo dinamične informacije, ki jih poganja baza podatkov. Kljub temu pa je Django dober tudi za katero koli dialoško spletno stran. Drugi razlog je, da vam zgodovina Djanga pomaga razumeti, kako se je oblikovala kultura njene skupnosti.

Django je nastala iz kode resničnega sveta in ne iz komercialnega izdelka ali akademske vaje. Kot rezultat, je zelo osredotočen na reševanje težav, s katerimi se soočajo izvirni spletni razvijalci, in na težave, s katerimi se še vedno srečujejo trenutni razvijalci. To pomeni, da Django vidi skoraj vsakodnevne izboljšave. Okvirno vzdrževalno osebje ima veliko zanimanja za to, da orodje prihrani čas razvijalcu in izdela lažje vzdrževane aplikacije ter tiste, ki delujejo dobro pri velikih obremenitvah. Vsi si želijo olajšati stvari, z drugimi besedami.

Namestitev Django

Tako bi moralo biti do zdaj že jasno, da je Django orodje za poenostavitev spletnega razvoja. Toda namestitev samega orodja lahko traja nekaj korakov zaradi števila gibljivih delov v današnjih okoljih spletnega razvoja.

Django je v bistvu koda Python, zato se izvaja kjer koli, kar počne Python, in vključuje tudi nekaj mobilnih telefonov. Predpostavimo, da ga nameščate na namizje ali prenosni računalnik ali strežnik. Ker je Django napisan v Python-u, morate najprej namestiti Python. Jedro okvirja Django s katero koli različico Pythona od 2.5 naprej. Če niste prepričani, kaj izbrati, izberite najnovejšo različico Pythona, saj imajo jezikovne funkcije in izboljšave delovanja, ki se vam bodo morda zdele koristne.

Če ste na Macu ali Linuxu, verjetno v računalniku že imate Python. To lahko preverite tako, da greste v ukazno vrstico in v ukazno vrstico vtipkate 'python'. Morali bi videti nekaj takega:

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

(64-bitni MSC v.1900 (AMD64)) v sistemu win32

Za več informacij vnesite "pomoč", "avtorske pravice", "krediti" ali "licenca".

>>>

Če tega ne vidite, ga morate prenesti in namestiti. Ko je nameščen, morate prenesti in namestiti Django. Izbirate lahko med dvema različicama: najnovejšo uradno različico ali najkvalitetnejšo različico spletnega razvoja. Kaj izberete, temelji na tem, kar želite. Če želite preizkušeno stabilno različico, pojdite na uradno izdajo. Če želite nekaj z najnovejšimi funkcijami in želite prispevati k skupnosti ter se spopadate s pomanjkanjem stabilnosti, pojdite na različico spletne razvojne različice.

Za začetek je najbolje, da greste za uradno izdajo. Najnovejšega najdete na spletni strani projekta Django. Če imate distribucijo Linuxa s paketom Django, pojdite na različico distributerja, tako da boste dobili tudi varnostne posodobitve.

Nastavitev baze podatkov

Edini pogoj Django je, da imate delujočo namestitev Pythona. Ko nastavite, lahko takoj začnete pisati spletno aplikacijo. Kot smo že omenili, pa je bil Django razvit s poudarkom na vsebinskih in baznih spletnih aplikacijah. Torej je velika verjetnost, da boste razvili spletno mesto, ki bo temeljilo na bazi podatkov. V tem primeru morate nastaviti strežnik baz podatkov.

Django podpira štiri motorje baz podatkov: MySQL, Oracle, SQLite 3 in PostgreSQL. Vsi motorji večinoma delujejo enako dobro z osrednjim ogrodjem. PostgreSQL priporočamo, če nimate povezav s podedovanim sistemom in lahko izberete zaledje baze podatkov.

Če želite nastaviti bazo podatkov, morate sam namestiti in konfigurirati strežnik. Vsaka zbirka podatkov, ki jo izberete, ima svoj način nastavitve, zato se morate na to sklicevati. Kot drugo morate namestiti knjižnico Python za določen backback baze podatkov. To je koda tretje osebe za Python, ki je vmesnik z bazo podatkov.

SQLite je priporočljivo, če samo eksperimentirate z Django in ne želite namestiti strežnika. Ne potrebuje namestitve; lahko samo prebere in zapiše podatke v eno datoteko v vašem sistemu, podpira pa jo Python 2.5 in novejši. Windows nekoliko otežuje pridobivanje datotek gonilnikov baz podatkov.

Če se odločite za MySQL, potrebujete MySQL 4.0 ali novejšo različico, saj starejše različice ne podpirajo funkcije Django. Prav tako morate namestiti paket MySQLdb s strani projekta Django. Če uporabljate Linux, ima lahko sistem za upravljanje paketov distribucije paket, imenovan „mysql-python“, „python-mysqldb“ ali „python-mysql“.

Django deluje z različicami 9i ali novejšim strežnikom Oracle Database Server. Prav tako morate namestiti knjižnico cx_Oracle s spletnega mesta cx-Oracle. Django lahko v celoti uporabljate tudi brez baze podatkov, če jo želite uporabljati samo za prikazovanje dinamičnih strani brez sklicevanja na bazo podatkov. Glede na to je potrebno, da nekatera orodja v Djangu potrebujejo bazo podatkov in če tega ne boste imeli, boste zgrešili.

Priporočeni članki

Tukaj je nekaj člankov, ki vam bodo pomagali do podrobnosti o Python-u in Django-ju za spletni razvoj, zato samo pojdite po povezavi.

  1. Python vs JavaScript - Naučite se 11 USeful razlike
  2. 10 najboljših vprašanj v zvezi s spletnim razvojem, ki jih morate vedeti
  3. 10 vrst programiranja Python-a
  4. Python vs Ruby Performance in njihove koristne koristi
  5. Ključne razlike med Python in JavaScript
  6. Python proti Go