Hvis du er interesseret i webudvikling, vil du helt sikkert finde Django interessant. Django er hovedsagelig en webudviklingsramme baseret på Python. Det er designet til at spare dig for meget tid og gøre webudvikling meget enklere og sjovere. Du kan bruge Django til at opbygge og vedligeholde webapplikationer af høj kvalitet uden meget ståhej.

Webudvikling er i sig selv en blanding af kreativitet og sjove elementer og en masse gentagne ting. Hvad Django gør, er at det giver dig mulighed for at fokusere på de sjove bits og den centrale del af din webapplikation, samtidig med at de gentagne dele bliver mindre besværlige. Med andre ord giver det en genvej til hyppige programmeringsopgaver og abstraktioner af almindelige mønstre i webudvikling. Det giver også klare konventioner om problemløsning. Det gør alt dette og giver dig også friheden til at arbejde uden for rammerne, når det er nødvendigt.

Hvad er en webramme?

Før vi introducerer Django, skal vi selvfølgelig først vide, hvad webrammer er, i betragtning af deres betydning i nutidens webapplikationer. For at forstå webrammer, lad os se på, hvordan en Python-applikation koder, når du ikke bruger en ramme. Den enkleste måde at gøre dette på er med en Common Gateway Interface (CGI). Du skal bare oprette et script med en HTML-output og derefter gemme scriptet med en. cgi-udvidelse til en webserver. For enkle sider er en skriv fra bunden sandsynligvis bedst. Koden er enklere at forstå, og der er ingen anden kode at læse. Det er også enklere at implementere.

På trods af sin enkelhed kommer fremgangsmåden adskillige udfordringer. Hvad ville du f.eks. Gøre, hvis du havde brug for flere dele af din applikation for at oprette forbindelse til en database? Hvis du går efter ovenstående metode, bliver du nødt til at kopiere databaseforbindelseskoden i hvert CGI-script. Dette kan ikke kun være besværligt, det kan også øge chancerne for menneskelig fejl at krybe ind. Den lettere metode ville dog være at sætte denne kode i en delt funktion. Når koden genbruges i forskellige miljøer med en separat adgangskode og database, skal du konfigurere koden til hvert specifikt miljø.

Hvis du ikke har meget erfaring med Python, er det mere sandsynligt, at du laver mindre fejl, der kan forårsage, at applikationen går ned. Sidens logik adskiller sig ideelt fra HTML-displayelementerne, så redaktøren kunne redigere hvert element uden at påvirke det andet.

En webramme løser disse problemer ved at danne en infrastruktur til programmering af applikationer. Dette hjælper dig med at fokusere på faktisk at skrive en mere vedligeholdelig og renere kode. Dette gør også Django.

Model-View-Controller

Django følger nøje Model-View-Controller (MVC) mønsteret, så meget, at det næsten lige kunne kategoriseres som en MVC-ramme. Dette mønster adskiller domænemodellering, præsentationer og brugerinputbaseret handling i tre unikke klasser. For at forstå dette bedre skal du bare kigge på et Python CGI-script.

Et standard CGI-script vil indeholde nogle indledende HTML-elementer til frontend og derefter en forbindelse til en database. Her er et eksempel på en databaseforbindelse i en Python CGI:

forbindelse = MySQLdb.connect (bruger = 'ABC', passwd = 'xxxxxxxx', db = 'my_db')

Derefter har du en udførelseskommando til at køre forespørgslen. Du har derefter noget HTML til at vise resultaterne af forespørgslen i front-end. Til sidst lukker du forbindelsen med en simpel linje:

connection.close ()

Nu med Django har du tre Python-filer, der er identificeret med deres. py-suffiks. Den første ville være databasetabeller, models.py. Den anden ville indeholde applikationslogikken, views.py. Og den tredje ville have URL-konfigurationen, urls.py. Endelig har du nogle HTML-elementer til at præsentere resultaterne i front-end. Adskillelsen på forskellige Python-filer er nøglen her; du behøver ikke at bekymre dig om syntaksen.

Filen models.py har en beskrivelse af databasetabellen. Ved hjælp af denne Python-klasse kan du oprette, slette, hente og opdatere poster ved hjælp af simpel Python-kode i stedet for at gentage SQL-sætninger. Filen views.py har forretningslogikken, og funktionen recent_books () er visningen. Urls.py-filen specificerer, hvilken visning der kaldes til en given URL. For eksempel kan du kode en visning, der skal kaldes til, hvis browseren indlæser en domænewebadresse / eksempel /. Dette betyder, at hvis dit domæne er abc.com, vil et besøg på URL-adressen abc.com/example/ kalde denne funktion.

HTML-skabelonen beskriver sidedesignet. Den bruger et skabelonsprog og grundlæggende logiske udsagn. I alt følger disse stykker MVC-mønsteret.

MVC er en metode til softwareudvikling, idet modellen, som er koden til adgang til og definition af data, er adskilt fra controlleren, som er anmodningsruteringslogikken, som også er adskilt fra visningen, som er brugergrænsefladen. MVC er nyttigt, idet komponenterne er meget løst koblet. Hver del af webapplikationen har således sine egne enkeltformål og kan ændres uafhængigt uden at skulle ændre andre stykker drastisk. For eksempel kan du ændre URL'en på en hvilken som helst del af applikationen, og det vil ændre implementeringen og uden at røre ved Python-koden, der viser den. Du kan omdøbe en tabel i databasen og specificere ændringer på et enkelt sted uden at erstatte dusinvis af filer.

Anbefalede kurser

  • Program på Windows 10
  • Professionel softwaretestknippekurve
  • Python Programming Training Bundle
  • Fuldfør Django-træning

En kort historie om Django

Nu hvor du ved lidt om webrammer, er det tid til at grave lidt ind i Djangos historie. At vide, hvor Django kommer fra, kan hjælpe dig med bedre at forstå, hvordan det fungerer, og hvordan du betjener dets genveje. Hvis du har opbygget webapplikationer, ville du sandsynligvis allerede kende problemerne forbundet med CGI. Den klassiske sti til webudvikling går sådan:

  1. Du skriver en webapplikation fra grunden af
  2. Du skriver en anden ansøgning
  3. Du er klar over, at der er flere fælles elementer mellem de to applikationer
  4. Du refaktorerer koden, så applikation 1 har den samme kode som den anden
  5. Du gentager 2-4 et par gange
  6. Du er klar over, at du har dannet en ramme

Sådan blev Django også skabt. Det blev dannet ud fra applikationer i den virkelige verden, der blev skrevet af et webudviklingsteam i Kansas. Det blev oprettet i 2003, da webprogrammører Adrian Holovaty og Simon Willison begyndte at bruge Python til bygning af applikationer.

World Online-teamet, der var ansvarligt for at vedligeholde og producere flere lokale nyhedswebsteder, oplevede store fordele i et webudviklingsmiljø, der var dikteret af tidsfristerne for journalistik. For webstederne ønskede journalister og ledelse funktioner, der skulle tilføjes, og applikationer bygges efter en hurtig tidsplan med bare dage eller timers varsel. De to udviklere dannede derefter en webudviklingsramme for at spare tid og opbygge vedligeholdelige applikationer inden for fristerne.

Holdet frigav derefter rammen som en open source-software i sommeren 2005 og navngav den Django efter Django Reinhardt, som nok er en af ​​de største jazzgitarister gennem tidene. Siden da har Django etableret sig som et populært open source-projekt med tusinder af tilhængere, bidragydere og brugere over hele verden. To af de originale udviklere, Jacob og Adrian, gav stadig deres centrale vejledning til væksten af ​​rammen.

Men hvorfor diskuterer vi endda Djangos historie? Tja, af to grunde. Den første er, at det hjælper med at identificere og forklare softwarens 'søde sted'. Django blev båret ud af et nyhedsmiljø og er derfor fuld af funktioner, der er bedst egnede til indholdsfokuserede websteder, som Washington Post, Amazon og Craigslist, der tilbyder databasestyret og dynamisk information. Alligevel er Django også god til ethvert dyamisk websted. Den anden grund er, at Djangos historie hjælper dig med at forstå, hvordan dens samfunds kultur er blevet formet.

Django er dannet ud fra den virkelige verden kode og ikke fra et kommercielt produkt eller akademisk øvelse. Som et resultat er det stærkt fokuseret på at løse problemer, som de originale webudviklere står overfor, og problemer, som de nuværende udviklere stadig står over for. Det betyder, at Django ser næsten daglige forbedringer. Rammevedligeholdelsespersonalet har en stor interesse for at sikre, at værktøjet sparer tid for udvikleren og producerede let vedligeholdte applikationer, og dem, der fungerer godt i store belastninger. De vil alle gøre tingene lettere for sig selv, med andre ord.

Installation af Django

Så det skulle være temmelig klart nu, at Django er et værktøj til at forenkle webudvikling. Men installation af selve værktøjet kan tage et par trin på grund af antallet af bevægelige dele i nutidens webudviklingsmiljøer.

Django er dybest set Python-kode, så den kører overalt, som Python gør, hvilket også inkluderer nogle mobiltelefoner. Lad os antage, at du installerer det på et skrivebord eller en bærbar computer eller en server. Da Django er skrevet i Python, skal du først installere Python. De grundlæggende Django-rammer med enhver Python-version fra 2.5 og fremefter. Hvis du ikke er sikker på, hvad du skal vælge, skal du vælge den nyeste version af Python, da de har sprogfunktioner og ydelsesforbedringer, som du måske finder nyttige.

Hvis du er på Mac eller Linux, har du sandsynligvis allerede Python på din computer. Du kan bekræfte dette ved at gå til kommandoprompten og skrive 'python' på kommandolinjen. Du skulle se noget lignende:

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

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

Skriv "hjælp", "copyright", "credits" eller "licens" for at få flere oplysninger.

>>>

Hvis du ikke kan se dette, skal du downloade og installere det. Når det er installeret, skal du downloade og installere Django. Du kan vælge mellem to versioner: den seneste officielle udgivelse eller den blødende kantudvikling af webudviklingen. Hvad du vælger er baseret på, hvad du ønsker. Hvis du vil have en testet, stabil version, skal du gå til den officielle udgivelse. Hvis du vil have noget med de nyeste funktioner og vil bidrage til samfundet og kan håndtere den manglende stabilitet, skal du gå til webudviklingsversionen.

Til at begynde med er det bedst at gå til den officielle udgivelse. Du kan finde den nyeste på Django-projektets websted. Hvis du har en Linux-distribution med Django-pakken, skal du gå efter distributørens version, så du også får sikkerhedsopdateringer.

Opsætning af en database

Djangos eneste forudsætning er, at du har en fungerende Python-installation. Når du først har konfigureret det, kan du stort set begynde at skrive en webapplikation med det samme. Som nævnt blev Django imidlertid udviklet med fokus på indholdsfokuseret, databasestyret webapplikationer. Så oddsen er, at du udvikler et databasestyret websted. I dette tilfælde skal du konfigurere en databaseserver.

Django understøtter fire databasemotorer: MySQL, Oracle, SQLite 3 og PostgreSQL. Alle motorer fungerer for det meste lige så godt med kernekammeret. PostgreSQL anbefales, hvis du ikke har bånd til et ældre system og kan vælge en database backend.

For at opsætte en database skal du installere og konfigurere selve serveren. Hver database, du vælger, har sin egen måde at opsætte, så du skal henvise til den. For det andet er du nødt til at installere Python-biblioteket for den pågældende databaseadend. Dette er tredjepartskode for Python til grænseflade til databasen.

SQLite anbefales, hvis du bare eksperimenterer med Django og ikke ønsker at installere en server. Det kræver ikke installation; det kan bare læse og skrive data til en enkelt fil på dit system, og det understøttes af Python 2.5 og nyere. Windows gør det lidt vanskeligt at få databasedriverbinarier.

Hvis du vælger MySQL, har du brug for MySQL 4.0 eller nyere, da de ældre versioner ikke understøtter Djangos funktioner. Du skal også installere MySQLdb-pakken fra Django Project-siden. Hvis du bruger Linux, kan din distributions pakkehåndteringssystem muligvis have en pakke kaldet 'mysql-python', 'python-mysqldb' eller 'python-mysql'.

Django fungerer med version 9i eller nyere af Oracle Databaseserver. Du skal også installere cx_Oracle-biblioteket fra cx-Oracle-webstedet. Alternativt kan du bruge Django uden en database helt, hvis du kun vil bruge den til at tjene dynamiske sider uden at henvise til en database. Når det er sagt kræver nogle af værktøjerne i Django en database, og hvis du ikke har en, vil du gå glip af dem.

Anbefalede artikler

Her er nogle artikler, der hjælper dig med at få flere detaljer om Python og Django til webudvikling, så bare gå gennem linket.

  1. Python vs JavaScript - Lær den 11 brugbare forskel
  2. 10 bedste spørgsmål om webudviklingssamtale, du burde vide
  3. 10 typer Python-programmering
  4. Python vs Ruby Performance og deres nyttige fordele
  5. Nøgleforskelle mellem Python og JavaScript
  6. Python vs Go

Kategori: