Hvis du er interessert i webutvikling, vil du definitivt synes Django er interessant. Django er egentlig et nettutviklingsrammeverk basert på Python. Den er designet for å spare deg for mye tid og gjøre webutvikling mye enklere og morsommere. Du kan bruke Django til å bygge og vedlikeholde høykvalitets webapplikasjoner uten mye oppstyr.

Nettutvikling i seg selv er en blanding av kreativitet og morsomme elementer, og en gjeng repeterende ting. Det Django gjør, er at det lar deg fokusere på de morsomme bitene og den sentrale delen av webapplikasjonen din, samtidig som de repeterende delene blir mindre plagsomme. Med andre ord gir det en snarvei til hyppige programmeringsoppgaver og abstraksjoner av vanlige mønstre i webutvikling. Det gir også klare konvensjoner om problemløsning. Det gjør alt dette samtidig som du gir deg friheten til å jobbe utenfor rammene når det trengs.

Hva er et nettverk?

Før vi introduserer Django, må vi selvfølgelig først vite hva nettrammer er, gitt deres betydning i dagens webapplikasjoner. For å forstå nettrammer, la oss se på hvordan en Python-applikasjon kodes når du ikke bruker et rammeverk. Den enkleste måten å gjøre dette på er med et Common Gateway Interface (CGI). Du trenger bare å lage et skript med en HTML-utgang, og deretter lagre skriptet med en. cgi-utvidelse til en webserver. For enkle sider er sannsynligvis en skriv-fra-grunn tilnærming best. Koden er enklere å forstå, og det er ingen annen kode å lese. Det er også enklere å distribuere.

Til tross for sin enkelhet, kommer tilnærmingen flere utfordringer. Hva ville du for eksempel gjort hvis du trengte flere deler av applikasjonen din for å koble deg til en database? Hvis du bruker metoden ovenfor, må du duplisere koden til databasekoblingen i hvert CGI-skript. Dette kan ikke bare være tungvint, det kan også øke sjansene for at menneskelige feil kryper inn. Den enklere metoden vil imidlertid være å sette denne koden i en delt funksjon. Når koden gjenbrukes i forskjellige miljøer med et eget passord og database, må du konfigurere koden for hvert enkelt miljø.

Hvis du ikke har mye erfaring med Python, er det mer sannsynlig at du gjør mindre feil som kan føre til at applikasjonen krasjer. Logikk på siden ville ideelt sett skille seg fra HTML-visningselementene, slik at redaktøren kunne redigere hvert element uten å påvirke det andre.

Et nettverk løser disse problemene ved å danne en infrastruktur for å programmere applikasjoner. Dette hjelper deg med å fokusere på å faktisk skrive mer vedlikeholdbar og renere kode. Dette er også hva Django gjør.

Model-View-Controller

Django følger nøye Model-View-Controller (MVC) -mønsteret, så mye at det omtrent kunne kategoriseres som et MVC-rammeverk. Dette mønsteret skiller domenemodellering, presentasjoner og brukerinputbasert handling i tre unike klasser. For å forstå dette bedre, bare ta en titt på et Python CGI-skript.

Et standard CGI-skript vil inneholde noen innledende HTML-elementer for grensesnittet og deretter en forbindelse til en database. Her er et eksempel på en databaseforbindelse i en Python CGI:

tilkobling = MySQLdb.connect (bruker = 'ABC', passwd = 'xxxxxxxx', db = 'my_db')

Etter det har du en utførelseskommando for å kjøre spørringen. Du har da litt HTML for å vise resultatene av spørringen i front-end. Til slutt lukker du forbindelsen med en enkel linje:

connection.close ()

Nå, med Django, har du tre Python-filer, identifisert med deres. py-suffiks. De første ville være databasetabellene, models.py. Det andre vil inneholde applikasjonslogikken, views.py. Og den tredje vil ha URL-konfigurasjonen, urls.py. Til slutt vil du ha noen HTML-elementer for å presentere resultatene i front-end. Separasjonen på forskjellige Python-filer er nøkkelen her; du trenger ikke å bekymre deg for syntaksen.

Modellen.py-filen har en beskrivelse av databasetabellen. Ved hjelp av denne Python-klassen kan du opprette, slette, hente og oppdatere poster med enkel Python-kode i stedet for å gjenta SQL-setninger. Visningen.py-filen har forretningslogikken, og funksjonen siste_bøker () er visningen. Urls.py-filen spesifiserer hvilken visning som kalles for en gitt URL. For eksempel kan du kode en visning du vil bli bedt om i tilfelle nettleseren laster inn en domenenavn / eksempel /. Dette betyr at hvis domenet ditt er abc.com, vil et besøk til URLen abc.com/example/ kalle denne funksjonen.

HTML-malen beskriver sidedesignet. Den bruker et malspråk og grunnleggende logiske utsagn. Til sammen følger disse brikkene MVC-mønsteret.

MVC er en metode for programvareutvikling ved at modellen, som er koden for tilgang til og definering av data, er atskilt fra kontrolleren, som er forespørselsrutingslogikken, som også er atskilt fra visning, som er brukergrensesnittet. MVC er nyttig ved at komponentene er veldig løst koblet. Hver del av nettapplikasjonen har således sine egne formål og kan endres uavhengig uten å måtte endre andre brikker drastisk. For eksempel kan du endre URL-adressen til hvilken som helst del av applikasjonen, og den vil endre implementeringen, og uten å berøre Python-koden som gjør den. Du kan gi nytt navn til en tabell i databasen og spesifisere endringer på et enkelt sted uten å erstatte dusinvis av filer.

Anbefalte kurs

  • Program på Windows 10
  • Profesjonell testing av programvarebunker
  • Python Programming Training Bundle
  • Fullfør Django-trening

En kort historie om Django

Nå som du vet litt om nettverk, er det på tide å grave litt inn i historien til Django. Når du vet hvor Django kommer fra, kan du bedre forstå hvordan det fungerer og hvordan du bruker snarveiene. Hvis du har bygd webapplikasjoner, vil du sannsynligvis allerede vite problemene knyttet til CGI. Den klassiske banen til nettutvikling går slik:

  1. Du skriver en nettapplikasjon fra grunnen av
  2. Du skriver en ny søknad
  3. Du innser at det er flere vanlige elementer mellom de to applikasjonene
  4. Du refaktorerer koden slik at applikasjon 1 har samme kode som den andre
  5. Du gjentar 2-4 noen ganger
  6. Du innser at du har dannet et rammeverk

Slik ble også Django opprettet. Den ble dannet fra virkelige applikasjoner som ble skrevet av et webutviklingsteam i Kansas. Det ble opprettet i 2003, da nettprogrammerere Adrian Holovaty og Simon Willison begynte å bruke Python for å bygge applikasjoner.

World Online-teamet, som var ansvarlig for å vedlikeholde og produsere flere lokale nyhetssider, så store fordeler i et nettutviklingsmiljø som ble diktert av tidsfristen for journalistikk. For nettstedene ønsket journalister og ledelse at funksjoner skulle legges til og applikasjoner bygges etter en rask tidsplan, med bare dagers eller timers varsel. De to utviklerne dannet et rammeverk for nettutvikling for å spare tid og bygge vedlikeholdsapplikasjoner innen fristene.

Teamet slapp deretter rammen som en åpen kildekode-programvare sommeren 2005, og kalte den Django etter Django Reinhardt, uten tvil en av tidenes største jazzgitarister. Siden den gang har Django etablert seg som et populært open source-prosjekt med tusenvis av støttespillere, bidragsytere og brukere over hele verden. To av de opprinnelige utviklerne, Jacob og Adrian, ga fortsatt sin sentrale veiledning for veksten av rammeverket.

Men hvorfor diskuterer vi til og med Djangos historie? Vel, av to grunner. Den første er at den hjelper til med å identifisere og forklare programvarens 'søte sted'. Django ble båret ut av et nyhetsmiljø og er derfor full av funksjoner best egnet for innholdsfokuserte nettsteder, som Washington Post, Amazon og Craigslist, og tilbyr databasestyrt og dynamisk informasjon. Likevel er Django også bra for alle dyamiske nettsteder. Den andre grunnen er at Djangos historie hjelper deg å forstå hvordan samfunnets kultur er blitt formet.

Django er dannet fra virkelighetskode og ikke fra et kommersielt produkt eller akademisk øvelse. Som et resultat er det sterkt fokusert på å løse problemer som de originale nettutviklerne står overfor, og problemer som nåværende utviklere fremdeles står overfor. Dette betyr at Django ser nesten daglig forbedringer. Rammevedlikeholdspersonalet har en stor interesse for å sikre at verktøyet sparer tid for utvikleren og produserte lett vedlikeholdte applikasjoner, og de som klarer seg godt i store belastninger. De ønsker alle å gjøre ting lettere for seg selv, med andre ord.

Installerer Django

Så det skal være ganske klart nå at Django er et verktøy for å forenkle nettutvikling. Men å installere selve verktøyet kan ta noen få skritt på grunn av antall bevegelige deler i dagens webutviklingsmiljøer.

Django er i utgangspunktet Python-kode, så den kjører hvor som helst som Python gjør, som inkluderer noen mobiltelefoner også. La oss anta at du installerer det på en stasjonær eller bærbar datamaskin, eller en server. Siden Django er skrevet i Python, trenger du først Python installert. De viktigste Django-rammene med hvilken som helst Python-versjon fra 2.5 og utover. Hvis du ikke er sikker på hva du skal velge, velger du den siste versjonen av Python siden de har språkfunksjoner og ytelsesforbedringer du kan finne nyttige.

Hvis du er på Mac eller Linux, har du sannsynligvis allerede Python på datamaskinen. Du kan bekrefte dette ved å gå til ledeteksten og skrive 'python' på kommandolinjen. Du bør se noe slikt:

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

(MSC v.1900 64 bit (AMD64)) på win32

Skriv inn "hjelp", "copyright", "credits" eller "lisens" for mer informasjon.

>>>

Hvis du ikke ser dette, må du laste ned og installere det. Når den er installert, må du laste ned og installere Django. Du kan velge mellom to versjoner: den siste offisielle utgivelsen eller den blødende nettutviklingen. Hva du velger er basert på hva du vil. Hvis du vil ha en testet, stabil versjon, kan du gå til den offisielle utgivelsen. Hvis du vil ha noe med de nyeste funksjonene og vil bidra til fellesskapet, og kan håndtere mangelen på stabilitet, kan du gå for nettutviklingsversjonen.

Til å begynne med er det best å gå for den offisielle løslatelsen. Du finner den siste på nettstedet Django Project. Hvis du har en Linux-distribusjon med Django-pakken, kan du gå for distributørens versjon, slik at du får sikkerhetsoppdateringer også.

Sette opp en database

Djangos eneste forutsetning er at du har en fungerende Python-installasjon. Når du har satt den opp, kan du ganske mye begynne å skrive en nettapplikasjon med en gang. Som nevnt tidligere ble imidlertid Django utviklet med fokus på innholdsfokuserte, databasedrevne webapplikasjoner. Så oddsen er at du vil utvikle et databasedrevet nettsted. I så fall må du konfigurere en databaseserver.

Django støtter fire databasemotorer: MySQL, Oracle, SQLite 3 og PostgreSQL. Alle motorene fungerer like godt for det meste med kjernerammen. PostgreSQL anbefales hvis du ikke har tilknytning til et eldre system og kan velge en database backend.

For å sette opp en database, må du installere og konfigurere selve serveren. Hver database du velger har sin egen måte å sette opp, så du må referere til den. For det andre må du installere Python-biblioteket for den aktuelle databasestøtten. Dette er tredjepartskode for Python å grense til databasen.

SQLite anbefales hvis du bare eksperimenterer med Django og ikke ønsker å installere en server. Det krever ikke installasjon; den kan bare lese og skrive data til en enkelt fil på systemet ditt, og de støttes av Python 2.5 og nyere. Windows gjør det litt vanskelig å få tak i databasesystemer.

Hvis du velger MySQL, trenger du MySQL 4.0 eller høyere siden de eldre versjonene ikke støtter Djangos funksjoner. Du må også installere MySQLdb-pakken fra Django Project-siden. Hvis du bruker Linux, kan distribusjonens pakkehåndteringssystem ha en pakke som heter 'mysql-python', 'python-mysqldb' eller 'python-mysql'.

Django fungerer med versjon 9i eller nyere av Oracle Database Server. Du må også installere cx_Oracle-biblioteket fra nettstedet cx-Oracle. Alternativt kan du bruke Django uten en database helt, hvis du bare vil bruke den til å tjene dynamiske sider uten å henvise til en database. Når det er sagt, krever noen av verktøyene i Django en database, og hvis du ikke har en, vil du gå glipp av dem.

Anbefalte artikler

Her er noen artikler som vil hjelpe deg med å få mer detaljert informasjon om Python og Django for webutvikling, så bare gå gjennom lenken.

  1. Python vs JavaScript - Lær den 11 nyttige forskjellen
  2. 10 beste spørsmål om nettutvikling du bør vite
  3. 10 typer Python-programmering
  4. Python vs Ruby Performance og deres nyttige fordeler
  5. Python vs JavaScript nøkkelforskjeller
  6. Python vs Go