Als u geïnteresseerd bent in webontwikkeling, zou u Django zeker interessant vinden. Django is in wezen een raamwerk voor webontwikkeling op basis van Python. Het is ontworpen om u veel tijd te besparen en webontwikkeling veel eenvoudiger en leuker te maken. U kunt Django gebruiken om zonder veel gedoe webtoepassingen van hoge kwaliteit te bouwen en te onderhouden.

Webontwikkeling op zichzelf is een mix van creativiteit en leuke elementen, en een heleboel repetitieve dingen. Wat Django doet, is dat je je kunt concentreren op de leuke stukjes en het belangrijkste deel van je webtoepassing, terwijl je de repetitieve delen minder gedoe maakt. Met andere woorden, het biedt een snelkoppeling naar frequente programmeertaken en abstracties van gemeenschappelijke patronen in webontwikkeling. Het geeft ook duidelijke afspraken over het oplossen van problemen. Het doet dit alles terwijl het u ook de vrijheid geeft om buiten het raamwerk te werken wanneer dat nodig is.

Wat is een webframework?

Voordat we Django introduceren, moeten we natuurlijk eerst weten wat webframes zijn, gezien het belang ervan in hedendaagse webapplicaties. Laten we eens kijken hoe een Python-applicatie codeert als u geen framework gebruikt om webframework te begrijpen. De eenvoudigste manier om dit te doen is met een Common Gateway Interface (CGI). U hoeft alleen een script met een HTML-uitvoer te maken en het script vervolgens op te slaan met een. cgi-extensie voor een webserver. Voor eenvoudige pagina's is een 'vanuit het niets schrijven'-benadering waarschijnlijk het beste. De code is eenvoudiger te begrijpen en er is geen andere code om te lezen. Het is ook eenvoudiger te implementeren.

Ondanks zijn eenvoud komt de aanpak met verschillende uitdagingen. Wat zou u bijvoorbeeld doen als u meerdere delen van uw toepassing nodig had om verbinding te maken met een database? Als u de bovenstaande methode gebruikt, moet u de verbindingscode van de database in elk CGI-script dupliceren. Dit kan niet alleen omslachtig zijn, het kan ook de kans vergroten dat menselijke fouten binnensluipen. De eenvoudigere methode zou echter zijn om deze code in een gedeelde functie te plaatsen. Wanneer de code wordt hergebruikt in verschillende omgevingen met een afzonderlijk wachtwoord en een afzonderlijke database, moet u de code voor elke specifieke omgeving configureren.

Als u niet veel ervaring hebt met Python, maakt u ook meer kans op kleinere fouten waardoor de toepassing kan crashen. De logica van de pagina zou idealiter gescheiden zijn van de HTML-weergave-elementen, zodat de editor elk element kon bewerken zonder het andere te beïnvloeden.

Een webframework lost deze problemen op door een infrastructuur te vormen voor het programmeren van applicaties. Dit helpt je te focussen op het schrijven van meer onderhoudbare en schonere code. Dit is ook wat Django doet.

Model-View-Controller

Django volgt het Model-View-Controller (MVC) -patroon nauwlettend, zozeer dat het zo ongeveer als een MVC-raamwerk kan worden gecategoriseerd. Dit patroon scheidt de domeinmodellering, presentaties en actie op basis van gebruikersinvoer in drie unieke klassen. Om dit beter te begrijpen, kijk maar eens naar een Python CGI-script.

Een standaard CGI-script bevat enkele inleidende HTML-elementen voor de frontend en vervolgens een verbinding met een database. Hier is een voorbeeldcode van een databaseverbinding in een Python CGI:

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

Daarna hebt u een uitvoeringsopdracht voor het uitvoeren van de query. U hebt dan wat HTML om de resultaten van de zoekopdracht in de front-end weer te geven. Ten slotte sluit u de verbinding met een eenvoudige lijn:

connection.close ()

Nu, met Django, heb je drie Python-bestanden, geïdentificeerd met hun. py achtervoegsel. De eerste zijn de databasetabellen, models.py. De tweede zou de applicatielogica views.py bevatten. En de derde zou de URL-configuratie hebben, urls.py. Ten slotte zou u enkele HTML-elementen hebben om de resultaten aan de voorkant te presenteren. De scheiding tussen verschillende Python-bestanden is hier de sleutel; u hoeft zich geen zorgen te maken over de syntaxis.

Het bestand models.py bevat een beschrijving van de databasetabel. Met deze Python-klasse kunt u records maken, verwijderen, ophalen en bijwerken met behulp van eenvoudige Python-code in plaats van SQL-instructies te herhalen. Het views.py-bestand heeft de bedrijfslogica en de functie nieuwste_boeken () is de weergave. Het bestand urls.py geeft aan welke weergave voor een bepaalde URL wordt gebruikt. U kunt bijvoorbeeld een weergave coderen die moet worden opgevraagd als de browser een domein-URL / voorbeeld / laadt. Dit betekent dat als uw domein abc.com is, een bezoek aan de URL abc.com/example/ deze functie zou aanroepen.

De HTML-sjabloon beschrijft het paginaontwerp. Het gebruikt een sjabloontaal en logische basisuitspraken. Al met al volgen deze stukken het MVC-patroon.

MVC is een methode voor software-ontwikkeling in die zin dat het model, dat de code is voor toegang tot en het definiëren van gegevens, gescheiden is van de controller, wat de logica van verzoekroutering is, die ook los staat van weergave, namelijk de gebruikersinterface. MVC is nuttig omdat de componenten zeer losjes zijn gekoppeld. Elk deel van de webtoepassing heeft dus zijn eigen afzonderlijke doeleinden en kan onafhankelijk worden gewijzigd zonder andere stukken drastisch te moeten veranderen. U kunt bijvoorbeeld de URL in elk deel van de toepassing wijzigen en dit zou de implementatie veranderen, en zonder de Python-code aan te raken die deze weergeeft. U kunt de naam van een tabel in de database wijzigen en wijzigingen op één plek opgeven zonder tientallen bestanden te vervangen.

Aanbevolen cursussen

  • Programma op Windows 10
  • Professionele softwaretestbundel
  • Python programmeer trainingsbundel
  • Volledige Django-training

Een korte geschiedenis van Django

Nu je een beetje weet over webframes, is het tijd om een ​​beetje in de geschiedenis van Django te duiken. Als je weet waar Django vandaan komt, kun je beter begrijpen hoe het werkt en hoe je de snelkoppelingen gebruikt. Als u webapplicaties hebt gebouwd, zou u waarschijnlijk al de problemen kennen die verband houden met CGI. Het klassieke pad van webontwikkeling gaat als volgt:

  1. U schrijft een webapplicatie vanaf de grond af
  2. U schrijft een tweede aanvraag
  3. Je realiseert je dat er verschillende gemeenschappelijke elementen zijn tussen de twee applicaties
  4. U wijzigt de code zodat toepassing 1 dezelfde code heeft als de tweede
  5. Je herhaalt 2-4 een paar keer
  6. Je beseft dat je een kader hebt gevormd

Dit is hoe Django ook is gemaakt. Het werd gevormd uit real-world applicaties die werden geschreven door een webontwikkelingsteam in Kansas. Het werd opgericht in 2003, toen webprogrammeurs Adrian Holovaty en Simon Willison Python begonnen te gebruiken voor het bouwen van applicaties.

Het World Online-team, verantwoordelijk voor het onderhoud en de productie van verschillende lokale nieuwssites, zag enorme voordelen in een webontwikkelingsomgeving die werd bepaald door de deadlines van de journalistiek. Voor de sites wilden de journalisten en het management functies toevoegen en applicaties volgens een snel schema bouwen, met slechts dagen of uren van tevoren. De twee ontwikkelaars vormden vervolgens een webontwikkelingsraamwerk om tijd te besparen en binnen de deadlines onderhoudbare applicaties te bouwen.

Het team bracht vervolgens het raamwerk uit als open source software in de zomer van 2005 en noemde het Django naar Django Reinhardt, misschien wel een van de grootste jazzgitaristen aller tijden. Sindsdien heeft Django zich gevestigd als een populair open source-project met duizenden supporters, bijdragers en gebruikers wereldwijd. Twee van de oorspronkelijke ontwikkelaars, Jacob en Adrian, gaven nog steeds hun centrale leidraad voor de groei van het framework.

Maar waarom bespreken we zelfs de geschiedenis van Django? Nou, om twee redenen. De eerste is dat het de 'sweet spot' van de software helpt identificeren en verklaren. Django werd geboren uit een nieuwsomgeving en zit daarom vol met functies die het meest geschikt zijn voor inhoudgerichte sites, zoals de Washington Post, Amazon en Craigslist, die database-gestuurde en dynamische informatie bieden. Toch is Django ook goed voor elke dyamic-website. De tweede reden is dat de geschiedenis van Django je helpt te begrijpen hoe de cultuur van de gemeenschap is gevormd.

Django is gevormd uit real-world code en niet uit een commercieel product of academische oefening. Als gevolg hiervan is het in hoge mate gericht op het oplossen van problemen waarmee de oorspronkelijke webontwikkelaars worden geconfronteerd, en problemen waarmee huidige ontwikkelaars nog steeds worden geconfronteerd. Dit betekent dat Django bijna dagelijkse verbeteringen ziet. De bemanning van het raamwerkonderhoud heeft een gevestigde interesse om ervoor te zorgen dat de tool tijd bespaart voor de ontwikkelaar en gemakkelijk te onderhouden applicaties produceert, en applicaties die goed presteren in zware ladingen. Ze willen het allemaal voor zichzelf gemakkelijker maken, met andere woorden.

Django installeren

Dus het zou nu vrij duidelijk moeten zijn dat Django een hulpmiddel is om webontwikkeling te vereenvoudigen. Maar het installeren van de tool zelf kan een paar stappen nemen vanwege het aantal bewegende delen in de hedendaagse webontwikkelingsomgevingen.

Django is eigenlijk Python-code, dus het werkt overal waar Python doet, inclusief enkele mobiele telefoons. Laten we aannemen dat u het op een desktop of laptop of een server installeert. Aangezien Django in Python is geschreven, moet Python eerst zijn geïnstalleerd. De kern Django-frameworks met elke Python-versie vanaf 2.5. Als u niet zeker weet wat u moet kiezen, kiest u de nieuwste versie van Python omdat deze taalfuncties en prestatieverbeteringen heeft die u misschien nuttig vindt.

Als u Mac of Linux gebruikt, heeft u waarschijnlijk al Python op uw computer. U kunt dit verifiëren door naar de opdrachtprompt te gaan en 'python' te typen op de opdrachtregel. Je zou zoiets moeten zien:

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

(MSC v.1900 64 bit (AMD64)) op win32

Typ "help", "copyright", "credits" of "licentie" voor meer informatie.

>>>

Als u dit niet ziet, moet u het downloaden en installeren. Eenmaal geïnstalleerd, moet je Django downloaden en installeren. U kunt kiezen uit twee versies: de nieuwste officiële release of de nieuwste versie van de webontwikkeling. Wat u kiest, is gebaseerd op wat u wilt. Als je een geteste, stabiele versie wilt, ga dan voor de officiële release. Als u iets wilt met de nieuwste functies en wilt bijdragen aan de gemeenschap, en het gebrek aan stabiliteit kunt verwerken, kiest u voor de webontwikkelingsversie.

Om te beginnen is het het beste om te gaan voor de officiële release. Je kunt de nieuwste versie vinden op de Django Project-website. Als u een Linux-distributie met Django-pakket hebt, kiest u voor de versie van de distributeur zodat u ook beveiligingsupdates krijgt.

Een database opzetten

De enige vereiste voor Django is dat je een werkende Python-installatie hebt. Als je dat eenmaal hebt ingesteld, kun je vrijwel meteen beginnen met het schrijven van een webtoepassing. Zoals eerder vermeld, is Django echter ontwikkeld met een focus op inhoudgerichte, database-gestuurde webapplicaties. Dus de kans is groot dat u een database-gestuurde website ontwikkelt. In dat geval moet u een databaseserver instellen.

Django ondersteunt vier database-engines: MySQL, Oracle, SQLite 3 en PostgreSQL. Alle motoren werken grotendeels even goed met het kernraamwerk. PostgreSQL wordt aanbevolen als u geen banden hebt met een oud systeem en een database-backend kunt kiezen.

Om een ​​database in te stellen, moet u de server zelf installeren en configureren. Elke database die u kiest, heeft zijn eigen manier van instellen, dus daar moet u naar verwijzen. Ten tweede moet u de Python-bibliotheek voor die specifieke database-backend installeren. Dit is een externe code voor Python om te communiceren met de database.

SQLite wordt aanbevolen als u alleen met Django experimenteert en geen server wilt installeren. Het vereist geen installatie; het kan gewoon gegevens lezen en schrijven naar een enkel bestand op uw systeem, en het wordt ondersteund door Python 2.5 en hoger. Windows maakt het een beetje moeilijk om binaire bestanden voor het databasestuurprogramma te verkrijgen.

Als u kiest voor MySQL, hebt u MySQL 4.0 of hoger nodig, omdat de oudere versies de functies van Django niet ondersteunen. Je moet ook het MySQLdb-pakket installeren vanaf de Django Project-pagina. Als u Linux gebruikt, heeft het pakketbeheersysteem van uw distributie mogelijk een pakket met de naam 'mysql-python', 'python-mysqldb' of 'python-mysql'.

Django werkt met versies 9i of hoger van de Oracle Database Server. U moet ook de cx_Oracle-bibliotheek installeren vanaf de cx-Oracle-website. Als alternatief kunt u Django volledig zonder database gebruiken, als u deze alleen wilt gebruiken om dynamische pagina's weer te geven zonder naar een database te verwijzen. Dat gezegd hebbende, sommige van de tools in Django vereisen een database en als je er geen hebt, mis je ze.

Aanbevolen artikelen

Hier zijn enkele artikelen die u zullen helpen om meer details over de Python en Django voor webontwikkeling te krijgen, dus ga gewoon door de link.

  1. Python versus JavaScript - Leer het 11 nuttige verschil
  2. 10 beste sollicitatievragen voor webontwikkeling die u moet weten
  3. 10 soorten Python-programmering
  4. Python vs Ruby Performance en hun nuttige voordelen
  5. Python versus JavaScript Belangrijkste verschillen
  6. Python vs Go