Hoe Django te installeren en een ontwikkelomgeving in te stellen op Ubuntu 22.04

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:

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.

  1. mkdir django-apps
  2. cd django-apps

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.

  1. virtualenv env

Activeer nu de virtuele omgeving met het volgende commando:

  1. . env/bin/activate

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.

  1. pip install django

Zodra geïnstalleerd, verifieer je je Django-installatie door een versiecontrole uit te voeren:

  1. django-admin --version

Dit, of iets soortgelijks, zal het resulterende uitvoer zijn:

Output
4.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:

  1. sudo ufw allow 8000

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:

  1. django-admin startproject testsite

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:

  1. cd testsite
  1. ls
Output
manage.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:

  1. less manage.py

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:

  1. cd testsite/

Voer vervolgens het volgende commando uit om de inhoud van de map weer te geven:

  1. ls

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 een urlpatterns lijst, die URL’s routeert en koppelt aan hun views.
  • 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:

  1. nano ~/django-apps/testsite/testsite/settings.py

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.

settings.py
"""
Django settings for testsite project.

Generated by 'django-admin startproject' using Django 4.0.
...
"""
...
# BEVEILIGINGSWAARSCHUWING: voer debug niet uit in productie!
DEBUG = True

# Bewerk de regel hieronder met het IP-adres van je server
ALLOWED_HOSTS = ['your-server-ip']
...

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:

  1. python manage.py createsuperuser

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:

  1. cd ~/django-apps/testsite/

Voer nu het volgende commando uit, waarbij je de tekst jouw-server-ip vervangt door het IP-adres van je server:

  1. python manage.py runserver your-server-ip:8000

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:

  1. deactivate

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.

Source:
https://www.digitalocean.com/community/tutorials/how-to-install-django-and-set-up-a-development-environment-on-ubuntu-22-04