Introductie
Django is een gratis en open-source webframework geschreven in Python, waarvan de kernprincipes schaalbaarheid, herbruikbaarheid en snelle ontwikkeling zijn. Het staat ook bekend om zijn consistentie op frameworkniveau en losse koppeling, waardoor individuele componenten onafhankelijk van elkaar kunnen zijn.
In deze zelfstudie zul je een Django-omgeving voor ontwikkelingsdoeleinden instellen op een Ubuntu 22.04-server. Voor een live website zijn er extra overwegingen, waaronder het verbinden met een database, het instellen van een domeinnaam en het toevoegen van beveiligingslagen. Er zijn verschillende zelfstudies over Django die je kunnen helpen bij het opbouwen onder de Django-tag.
Vereisten
Om deze zelfstudie te voltooien, heb je het volgende nodig:
-
Een niet-root gebruikersaccount met
sudo
-privileges, die je kunt bereiken door de initiële serverconfiguratie voor Ubuntu 22.04-zelfstudie te volgen en te voltooien. -
Python 3 instellen met een virtuele programmeeromgeving. U kunt dit instellen via de Python 3-installatiehandleiding.
Stap 1 — Django installeren
Er zijn verschillende manieren om Django te installeren, de Python-pakketbeheerder pip binnen een virtuele omgeving.
Terwijl u zich in de home-directory van de server bevindt, maakt u de directory aan die uw Django-toepassing zal bevatten. Voer het volgende commando uit om een directory genaamd django-apps
te maken, of een andere naam naar keuze. Navigeer vervolgens naar de directory.
Terwijl u zich binnen de django-apps
-directory bevindt, maakt u uw virtuele omgeving aan. U noemt het generiek env
, maar u moet een naam gebruiken die voor u en uw project betekenisvol is.
Activeer nu de virtuele omgeving met het volgende commando:
Je weet dat het geactiveerd is zodra het voorvoegsel is gewijzigd naar (env)
, wat er ongeveer zo uit zal zien, afhankelijk van in welke map je je bevindt:
Binnen de omgeving installeer je het Django-pakket met behulp van pip. Door Django te installeren kunnen we Django-toepassingen maken en uitvoeren.
Zodra geïnstalleerd, verifieer je je Django-installatie door een versiecontrole uit te voeren:
Dit, of iets soortgelijks, zal het resulterende uitvoer zijn:
Output4.0.6
Met Django geïnstalleerd op je server, kun je doorgaan met het maken van een testproject om ervoor te zorgen dat alles correct werkt. Je gaat een skelet-webtoepassing maken.
Stap 2 — Aanpassen van Firewall-instellingen
Als je de initiële serverinstallatiehandleiding hebt gevolgd of een firewall hebt draaien op je server, moet je de poort openen die je gaat gebruiken in de firewall van je server. Voor de UFW-firewall kun je de poort openen met het volgende commando:
Als je DigitalOcean Firewalls gebruikt, kun je HTTP selecteren uit de inkomende regels. Je kunt meer lezen over DigitalOcean Firewalls en hoe je regels voor ze kunt maken door de inkomende regels te wijzigen.
Stap 3 — Het Project Starten
Je kunt nu een applicatie genereren met django-admin
, een opdrachtregelhulpprogramma voor beheertaken in Python. Vervolgens kun je de startproject
-opdracht gebruiken om de projectdirectorystructuur voor je testwebsite te maken.
Terwijl je in de map django-apps
bent, voer je de volgende opdracht uit:
Opmerking: Het uitvoeren van de opdracht django-admin startproject <projectnaam>
zal zowel de projectmap als het projectpakket de naam <projectnaam>
geven en het project in de map maken waarin de opdracht is uitgevoerd. Als de optionele parameter <bestemming>
wordt opgegeven, zal Django de opgegeven bestemmingsmap gebruiken als de projectmap en manage.py
en het projectpakket daarin maken.
Nu kun je kijken welke projectbestanden zojuist zijn gemaakt. Ga naar de map testsite
en bekijk de inhoud van die map om te zien welke bestanden zijn gemaakt:
Outputmanage.py testsite
Je zult de uitvoer opmerken die aangeeft dat deze map een bestand genaamd manage.py
en een map genaamd testsite
bevat. Het manage.py
bestand is vergelijkbaar met django-admin
en plaatst het projectpakket op sys.path
. Dit stelt ook de DJANGO_SETTINGS_MODULE
omgevingsvariabele in om te verwijzen naar het settings.py
bestand van je project.
Je kunt het manage.py
script bekijken in je terminal door het less
commando als volgt uit te voeren:
Als je klaar bent met het lezen van het script, druk op q
om het bestand te verlaten.
Navigeer nu naar de testsite
map om de andere gemaakte bestanden te bekijken:
Voer vervolgens het volgende commando uit om de inhoud van de map weer te geven:
Je zult vier bestanden zien:
Output__init__.py asgi.py settings.py urls.py wsgi.py
Je kunt doornemen wat elk van deze bestanden is:
__init__.py
fungeert als het instappunt voor je Python-project.asgi.py
bevat de configuratie voor de optionele implementatie naar de Asynchronous Server Gateway Interface of ASGI, wat een standaard biedt voor apps die ofwel synchroon als asynchroon zijn, en wordt beschouwd als een opvolger van WSGI (zie hieronder).settings.py
beschrijft de configuratie van je Django-installatie en laat Django weten welke instellingen beschikbaar zijn.urls.py
bevat eenurlpatterns
lijst, die URL’s routeert en koppelt aan hunviews
.wsgi.py
bevat de configuratie voor de Web Server Gateway Interface of WSGI, die een standaard biedt voor synchrone Python-apps.
Opmerking: Hoewel standaardbestanden worden gegenereerd, heb je nog steeds de mogelijkheid om de asgi.py
of wsgi.py
bestanden op elk moment aan te passen aan je implementatiebehoeften.
Stap 4 – Django configureren
Je kunt nu de server starten en de website bekijken op een aangewezen host en poort door het runserver
commando uit te voeren.
Je moet het IP-adres van je server toevoegen aan de lijst van ALLOWED_HOSTS
in het settings.py
bestand dat zich bevindt in ~/test_django_app/testsite/testsite/
.
Zoals vermeld in de Django-documentatie, bevat de variabele ALLOWED_HOSTS
“een lijst van strings die de host/domeinnamen vertegenwoordigen die deze Django-site kan bedienen. Dit is een beveiligingsmaatregel om HTTP Host-header aanvallen te voorkomen, die zelfs mogelijk zijn onder veel ogenschijnlijk veilige webserverconfiguraties.”
Je kunt je favoriete teksteditor gebruiken om je IP-adres toe te voegen. Als je bijvoorbeeld nano
gebruikt, voer dan het volgende commando uit:
Zodra je de opdracht hebt uitgevoerd, wil je naar de sectie ALLOWED_HOSTS
van het document navigeren en het IP-adres van je server binnen de vierkante haken toevoegen binnen enkele of dubbele aanhalingstekens.
Je kunt de wijziging opslaan en nano verlaten door de CTRL
+ x
toetsen ingedrukt te houden en vervolgens op de y
toets te drukken. Vervolgens ga je verder met het openen van je webapplicatie via een browser.
Tenslotte maak je een beheerdersgebruiker aan zodat je gebruik kunt maken van de Django-beheerinterface. Dit kan worden gedaan met het createsuperuser
commando:
Je wordt gevraagd om een gebruikersnaam, een e-mailadres en een wachtwoord voor je gebruiker.
Stap 5 — Toegang tot de Django Web App
Met je configuratie voltooid, zorg ervoor dat je terugkeert naar de directory waar manage.py
zich bevindt:
Voer nu het volgende commando uit, waarbij je de tekst jouw-server-ip vervangt door het IP-adres van je server:
Eindelijk kun je naar de onderstaande link navigeren om te zien hoe jouw skeletwebsite eruitziet, waarbij je opnieuw de gemarkeerde tekst vervangt door het werkelijke IP-adres van jouw server:
http://your-server-ip:8000/
Zodra de pagina is geladen, zie je het volgende:
Dit bevestigt dat Django correct is geïnstalleerd en dat jouw testproject correct werkt.
Om toegang te krijgen tot de beheerinterface, voeg je /admin/
toe aan het einde van jouw URL:
http://your_server_ip:8000/admin/
Dit brengt je naar een inlogscherm:
Als je de gebruikersnaam en het wachtwoord van de beheerder invoert dat je zojuist hebt aangemaakt, krijg je toegang tot het hoofdgedeelte van de beheerderssectie van de site:
Voor meer informatie over werken met de Django-beheerinterface, zie “Hoe de Django-beheerinterface inschakelen en verbinden.”
Als je klaar bent met het testen van jouw app, kun je op CTRL
+ C
drukken om het runserver
-commando te stoppen. Dit brengt je terug naar jouw programmeeromgeving.
Als je klaar bent om jouw Python-omgeving te verlaten, kun je het deactivate
-commando uitvoeren:
Het deactiveren van jouw programmeeromgeving brengt je terug naar de opdrachtprompt van de terminal.
Conclusie
In deze tutorial heb je succesvol Django geïnstalleerd en een ontwikkelomgeving opgezet om aan jouw Django-app te werken.
Je hebt nu de basis die nodig is om te beginnen met het bouwen van Django-webapplicaties.