Om du är intresserad av webbutveckling, skulle du definitivt hitta Django intressant. Django är i huvudsak en webbutvecklingsram baserad på Python. Det har utformats för att spara mycket tid och göra webbutveckling mycket enklare och roligare. Du kan använda Django för att bygga och underhålla webbapplikationer av hög kvalitet utan mycket väsen.

Webbutveckling i sig är en blandning av kreativitet och roliga element och ett gäng repetitiva grejer. Vad Django gör är att det låter dig fokusera på de roliga bitarna och den viktigaste delen av din webbapplikation, samtidigt som de repetitiva delarna blir mindre besvärliga. Med andra ord ger det en genväg till frekventa programmeringsuppgifter och abstraktioner av vanliga mönster i webbutveckling. Det ger också tydliga konventioner om problemlösning. Det gör allt samtidigt som du ger dig friheten att arbeta utanför ramområdet när det behövs.

Vad är en webbram?

Naturligtvis, innan vi introducerar Django, måste vi först veta vad webbramar är, med tanke på deras betydelse i dagens webbapplikationer. För att förstå webbramar, låt oss ta en titt på hur en Python-applikation kodar när du inte använder ett ramverk. Det enklaste sättet att göra detta är med ett Common Gateway Interface (CGI). Du behöver bara skapa ett skript med en HTML-utgång och sedan spara skriptet med en. cgi-förlängning till en webbserver. För enkla sidor är förmodligen en skrivning från början bäst. Koden är enklare att förstå, och det finns ingen annan kod att läsa. Det är också enklare att distribuera.

Trots sin enkelhet kommer tillvägagångssättet med flera utmaningar. Till exempel, vad skulle du göra om du behövde flera delar av din applikation för att ansluta till en databas? Om du använder metoden ovan måste du kopiera databasanslutningskoden i varje CGI-skript. Detta kan inte bara vara besvärligt, det kan också öka chansen för mänskliga fel att krypa in. Den enklare metoden skulle dock vara att sätta den här koden i en delad funktion. När koden återanvänds i olika miljöer med ett separat lösenord och en databas måste du konfigurera koden för varje specifik miljö.

Om du inte har mycket erfarenhet av Python är det mer troligt att du gör mindre fel som kan orsaka att applikationen kraschar. Sidans logik skulle helst skilja sig från HTML-visningselement, så redaktören kunde redigera varje element utan att påverka det andra.

En webbramverk löser dessa problem genom att bilda en infrastruktur för programapplikationer. Detta hjälper dig att fokusera på att faktiskt skriva en mer hållbar och renare kod. Detta är också vad Django gör.

Model-View-Controller

Django följer nära Model-View-Controller (MVC) -mönstret, så mycket att det nästan kan kategoriseras som ett MVC-ramverk. Detta mönster separerar domänmodellering, presentationer och användarinmatningsbaserad handling i tre unika klasser. För att förstå detta bättre, titta bara på ett Python CGI-skript.

Ett standard CGI-skript kommer att innehålla några inledande HTML-element för frontend och sedan en anslutning till en databas. Här är ett exempel på en databasanslutning i en Python CGI:

anslutning = MySQLdb.connect (användare = 'ABC', passwd = 'xxxxxxxx', db = 'my_db')

Efter det har du ett körningskommando för att köra frågan. Du har då lite HTML för att visa resultaten av frågan i front-end. Slutligen stänger du anslutningen med en enkel linje:

connection.close ()

Nu, med Django, har du tre Python-filer, identifierade med deras. py-suffix. Den första skulle vara databastabellerna, models.py. Den andra skulle innehålla applikationslogiken, views.py. Och den tredje skulle ha URL-konfigurationen, urls.py. Slutligen skulle du ha några HTML-element för att presentera resultaten i front-enden. Separationen på olika Python-filer är nyckeln här; du behöver inte oroa dig för syntaxen.

Filen models.py har en beskrivning av databastabellen. Med denna Python-klass kan du skapa, radera, hämta och uppdatera poster med enkel Python-kod istället för att upprepa SQL-satser. Filen views.py har affärslogiken och funktionen recent_books () är vyn. Urls.py-filen anger vilken vy som krävs för en given URL. Till exempel kan du koda en vy som ska anropas om webbläsaren laddar en domän-URL / exempel /. Detta innebär att om din domän är abc.com skulle ett besök på URL: n abc.com/example/ kalla den här funktionen.

HTML-mallen beskriver siddesignen. Den använder ett mallspråk och grundläggande logiska uttalanden. Sammantaget följer dessa delar MVC-mönstret.

MVC är en metod för mjukvaruutveckling genom att modellen, som är koden för åtkomst och definiering av data, är separat från styrenheten, som är begärdsrutningslogiken, som också är separat från vyn, vilket är användargränssnittet. MVC är användbart genom att komponenterna är mycket löst kopplade. Varje del av webbapplikationen har således sina egna enda syften och kan ändras oberoende utan att behöva byta andra delar drastiskt. Till exempel kan du ändra URL: n vid vilken som helst del av applikationen och det skulle ändra implementeringen och utan att röra vid Python-koden som gör den. Du kan byta namn på en tabell i databasen och ange ändringar på en enda plats utan att ersätta dussintals filer.

Rekommenderade kurser

  • Program på Windows 10
  • Professional Software Testing Bundle Course
  • Python Programming Training Bundle
  • Komplett Django-träning

En kort historia av Django

Nu när du vet lite om webbramar är det dags att gräva lite in i Djangos historia. Att veta var Django kommer ifrån kan hjälpa dig att bättre förstå hur det fungerar och hur man använder sina genvägar. Om du har byggt webbapplikationer känner du antagligen redan till problemen med CGI. Den klassiska vägen för webbutveckling går så:

  1. Du skriver en webbapplikation från grunden
  2. Du skriver en andra ansökan
  3. Du inser att det finns flera vanliga element mellan de två applikationerna
  4. Du refaktorerar koden så att applikation 1 har samma kod som den andra
  5. Du upprepar 2-4 några gånger
  6. Du inser att du har utformat en ram

Så här skapades också Django. Det bildades av verkliga applikationer som skrevs av ett webbutvecklingsteam i Kansas. Det skapades 2003, då webbprogrammerare Adrian Holovaty och Simon Willison började använda Python för att bygga applikationer.

World Online-teamet, som ansvarar för att underhålla och producera flera lokala nyhetssajter, såg stora fördelar i en webbutvecklingsmiljö som dikterades av tidsfristerna för journalistik. För webbplatserna ville journalister och ledning att funktioner skulle läggas till och applikationer byggas enligt ett snabbt schema, med bara dagar eller timmar i förväg. De två utvecklarna bildade sedan en ram för webbutveckling för att spara tid och bygga underhållbara applikationer inom tidsfristerna.

Teamet släppte sedan ramverket som en open source-mjukvara sommaren 2005 och namngav den Django efter Django Reinhardt, utan tvekan en av de största jazzgitarristerna genom tiderna. Sedan dess har Django etablerat sig som ett populärt open source-projekt med tusentals supportrar, bidragsgivare och användare över hela världen. Två av de ursprungliga utvecklarna, Jacob och Adrian, gav fortfarande sin centrala vägledning för tillväxten av ramverket.

Men varför diskuterar vi till och med Djangos historia? Tja, av två skäl. Den första är att det hjälper till att identifiera och förklara programvaran "sweet spot". Django bärs ur en nyhetsmiljö och är därför full av funktioner som är bäst lämpade för innehållsfokuserade webbplatser, som Washington Post, Amazon och Craigslist, och erbjuder databasdriven och dynamisk information. Ändå är Django också bra för alla dyamiska webbplatser. Det andra skälet är att Djangos historia hjälper dig att förstå hur dess samhälls kultur har utformats.

Django har bildats av verklig kod och inte från en kommersiell produkt eller akademisk övning. Som ett resultat är det starkt fokuserat på att lösa problem som de ursprungliga webbutvecklarna står inför och problem som nuvarande utvecklare fortfarande står inför. Det betyder att Django ser nästan dagliga förbättringar. Ramunderhållsbesättningen har ett intresse av att se till att verktyget sparar tid för utvecklaren och producerade lätt underhållna applikationer och de som fungerar bra i tunga laster. De vill alla underlätta för sig själva, med andra ord.

Installera Django

Så borde det vara ganska tydligt nu att Django är ett verktyg för att förenkla webbutveckling. Men installationen av själva verktyget kan ta några steg på grund av antalet rörliga delar i dagens webbutvecklingsmiljöer.

Django är i princip Python-kod, så det kör överallt som Python gör, vilket också innehåller vissa mobiltelefoner. Låt oss anta att du installerar det på ett skrivbord eller en bärbar dator eller på en server. Eftersom Django är skriven i Python behöver du först Python installerat. Django-kärnramarna med alla Python-versioner från och med 2.5. Om du inte är säker på vad du ska välja, välj den senaste versionen av Python eftersom de har språkfunktioner och prestandaförbättringar du kan hitta användbara.

Om du är på Mac eller Linux har du antagligen redan Python i din dator. Du kan verifiera detta genom att gå till kommandotolken och skriva "python" på kommandoraden. Du borde se något liknande:

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

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

Skriv "hjälp", "copyright", "credits" eller "licens" för mer information.

>>>

Om du inte ser detta måste du ladda ner och installera det. När du installerat måste du ladda ner och installera Django. Du kan välja mellan två versioner: den senaste officiella utgåvan eller den blödande utgåvan för webbutveckling. Vad du väljer är baserat på vad du vill. Om du vill ha en testad, stabil version, gå till den officiella utgåvan. Om du vill ha något med de senaste funktionerna och vill bidra till samhället och kan hantera bristen på stabilitet, gå till webbutvecklingsversionen.

Till att börja med är det bäst att gå till den officiella utgåvan. Du hittar den senaste på Django Project-webbplatsen. Om du har en Linux-distribution med Django-paket, gå till distributörens version så att du också får säkerhetsuppdateringar.

Ställa in en databas

Djangos enda förutsättning är att du har en fungerande Python-installation. När du har konfigurerat det kan du ganska mycket börja skriva en webbapplikation direkt. Som tidigare nämnts utvecklades dock Django med fokus på innehållsfokuserade, databasdrivna webbapplikationer. Så oddsen är att du kommer att utveckla en databasdriven webbplats. I så fall måste du konfigurera en databaseserver.

Django stöder fyra databasmotorer: MySQL, Oracle, SQLite 3 och PostgreSQL. Alla motorer fungerar lika bra för det mesta med kärnramen. PostgreSQL rekommenderas om du inte har koppling till ett äldre system och kan välja en databasbackend.

För att skapa en databas måste du installera och konfigurera själva servern. Varje databas du väljer har sitt eget sätt att konfigurera, så du måste hänvisa till den. För det andra måste du installera Python-biblioteket för den specifika databasbackend. Detta är tredje parts kod för Python att gränssnittet med databasen.

SQLite rekommenderas om du bara experimenterar med Django och inte vill installera en server. Det kräver inte installation; det kan bara läsa och skriva data till en enda fil på ditt system, och det stöds av Python 2.5 och högre. Windows gör det lite svårt att få databasdrivrutinsbinarier.

Om du väljer MySQL, behöver du MySQL 4.0 eller högre eftersom de äldre versionerna inte stöder Djangos funktioner. Du måste också installera MySQLdb-paketet från Django Project-sidan. Om du använder Linux kan din distributions pakethanteringssystem ha ett paket som heter 'mysql-python', 'python-mysqldb' eller 'python-mysql'.

Django fungerar med versionerna 9i eller högre av Oracle Database Server. Du måste också installera cx_Oracle-biblioteket från cx-Oracle-webbplatsen. Alternativt kan du använda Django utan en databas helt, om du bara vill använda den för att visa dynamiska sidor utan att referera till en databas. Med det sagt, vissa av verktygen i Django kräver en databas, och om du inte har en sådan kommer du att missa dem.

Rekommenderade artiklar

Här är några artiklar som hjälper dig att få mer information om Python och Django för webbutveckling så bara gå igenom länken.

  1. Python vs JavaScript - Lär dig den 11 användbara skillnaden
  2. 10 bästa frågor om webbutveckling som du borde veta
  3. 10 typer av Python-programmering
  4. Python vs Ruby Performance och deras användbara fördelar
  5. Viktiga skillnader mellan Python och JavaScript
  6. Python vs Go

Kategori: