Hoe u het Django-webframework installeert op Ubuntu 22.04

Introductie

Django is een uitgebreid Python webframework voor het ontwikkelen van dynamische websites en applicaties. Met Django kunt u snel Python-webapplicaties maken en vertrouwen op het framework om het meeste werk te doen.

In deze handleiding gaat u Django installeren op een Ubuntu 22.04-server. Na de installatie start u een nieuw project om als basis voor uw site te gebruiken.

Verschillende Methoden

Er zijn verschillende manieren om Django te installeren, afhankelijk van uw behoeften en hoe u uw ontwikkelomgeving wilt configureren. Deze hebben verschillende voordelen en één methode kan beter geschikt zijn voor uw specifieke situatie dan andere.

Enkele van de verschillende methoden zijn onder andere:

  • Globale installatie van pakketten: De officiële Ubuntu-repositories bevatten Django-pakketten die kunnen worden geïnstalleerd met de conventionele apt pakketbeheerder. Dit is eenvoudig, maar niet zo flexibel als sommige andere methoden. Bovendien kan de versie die in de repositories zit achterlopen op de officiële versies die beschikbaar zijn vanuit het project.
  • Installeren met pip in een virtuele omgeving: Je kunt een zelfstandige omgeving maken voor je projecten met behulp van tools zoals venv en virtualenv. Een virtuele omgeving stelt je in staat om Django te installeren in een projectdirectory zonder het grotere systeem te beïnvloeden, samen met andere per-project aanpassingen en pakketten. Dit is doorgaans de meest praktische en aanbevolen aanpak om met Django te werken.
  • Installeer de ontwikkelversie met git: Als je de laatste ontwikkelversie wilt installeren in plaats van de stabiele release, kun je de code verkrijgen van de Git-opslagplaats. Dit is nodig om de nieuwste functies/fixes te krijgen en kan worden gedaan binnen je virtuele omgeving. Ontwikkelversies bieden echter niet dezelfde stabiliteitsgaranties als stabielere versies.

Vereisten

Voordat je begint, moet je een niet-root gebruiker met sudo-rechten beschikbaar hebben op je Ubuntu 22.04-server. Om dit in te stellen, volg onze Ubuntu 22.04 initiële serverinstallatiegids.

Globale installatie van pakketten

Als u Django wilt installeren via de Ubuntu-repositories, is het proces zeer eenvoudig.

Als eerste stap, werk uw lokale pakketindex bij met apt:

  1. sudo apt update

Vervolgens controleert u welke versie van Python u hebt geïnstalleerd. 22.04 wordt standaard geleverd met Python 3.10, wat u kunt controleren door het volgende te typen:

  1. python3 -V

U zou output zoals deze moeten zien:

Output
Python 3.10.4

Installeer vervolgens Django:

  1. sudo apt install python3-django

U kunt testen of de installatie succesvol was door het volgende te typen:

  1. django-admin --version
Output
3.2.12

Dit betekent dat de software succesvol is geïnstalleerd. U kunt ook opmerken dat de Django-versie niet de nieuwste stabiele versie is. Om meer te weten te komen over hoe u de software kunt gebruiken, kunt u doorgaan en leren hoe u een voorbeeldproject kunt maken.

Installeren met pip in een virtuele omgeving

De meest flexibele manier om Django op uw systeem te installeren, is binnen een virtuele omgeving. We zullen u laten zien hoe u Django installeert in een virtuele omgeving die we zullen aanmaken met de venv-module, onderdeel van de standaard Python 3-bibliotheek. Deze tool maakt het mogelijk om virtuele Python-omgevingen te creëren en Python-pakketten te installeren zonder de rest van het systeem te beïnvloeden. U kunt daarom Python-pakketten selecteren op projectbasis, ongeacht conflicten met de vereisten van andere projecten.

Laten we beginnen met het vernieuwen van de lokale pakketindex:

  1. sudo apt update

Controleer de versie van Python die je hebt geïnstalleerd:

  1. python3 -V
Output
Python 3.10.4

Volgende stap is het installeren van pip en venv vanuit de Ubuntu repositories:

  1. sudo apt install python3-pip python3-venv

Telkens wanneer je een nieuw project start, kan je een virtuele omgeving aanmaken. Begin door een nieuwe projectdirectory aan te maken en erin te navigeren:

  1. mkdir ~/newproject
  2. cd ~/newproject

Vervolgens maak je een virtuele omgeving aan binnen de projectdirectory met behulp van het python commando dat compatibel is met je Python-versie. We zullen onze virtuele omgeving my_env noemen, maar je kan het iets beschrijvends geven:

  1. python3 -m venv my_env

Dit zal zelfstandige versies van Python en pip installeren in een geïsoleerde directorystructuur binnen je projectdirectory. Er wordt een directory aangemaakt met de door jou gekozen naam, waarin de bestandshiërarchie zal worden onderhouden voor het installeren van je pakketten.

Om pakketten te installeren in de geïsoleerde omgeving, moet je deze activeren door het volgende in te typen:

  1. source my_env/bin/activate

Je prompt zou moeten veranderen om aan te geven dat je nu in je virtuele omgeving zit. Het zal er ongeveer zo uitzien: (my_env)gebruikersnaam@hostname:~/nieuwproject$.

In je nieuwe omgeving kan je pip gebruiken om Django te installeren. Ongeacht je Python-versie, moet pip simpelweg pip worden genoemd wanneer je in je virtuele omgeving zit. Let er ook op dat je geen sudo hoeft te gebruiken omdat je lokaal installeert:

  1. pip install django

Je kan de installatie verifiëren door het volgende te typen:

  1. django-admin --version
Output
4.0.4

Merk op dat jouw versie kan verschillen van de versie die hier wordt getoond.

Om je virtuele omgeving te verlaten, moet je het deactivate commando uitvoeren vanaf elke locatie op het systeem:

  1. deactivate

Je prompt zou terug moeten keren naar de conventionele weergave. Wanneer je weer aan je project wilt werken, activeer je je virtuele omgeving opnieuw door terug te gaan naar je projectdirectory en te activeren:

  1. cd ~/newproject
  2. source my_env/bin/activate

Installatie van ontwikkelingsversie met Git

Als je een ontwikkelingsversie van Django nodig hebt, kun je Django downloaden en installeren vanuit zijn Git-repository. Laten we dit doen vanuit een virtuele omgeving.

Eerst, laten we de lokale pakketindex bijwerken:

  1. sudo apt update

Controleer de versie van Python die je hebt geïnstalleerd:

  1. python3 -V
Output
Python 3.10.4

Vervolgens, installeer pip en venv vanuit de officiële repositories:

  1. sudo apt install python3-pip python3-venv

Het volgende stap is het klonen van de Django repository. Tussen releases heeft deze repository meer up-to-date functies en bug fixes ten koste van stabiliteit. Je kunt de repository klonen naar een directory genaamd ~/django-dev binnen je home-directory door te typen:

  1. git clone git://github.com/django/django ~/django-dev

Verander naar deze directory:

  1. cd ~/django-dev

Creëer een virtuele omgeving met behulp van het python commando dat compatibel is met je geïnstalleerde versie van Python:

  1. python3 -m venv my_env

Activeer het:

  1. source my_env/bin/activate

Vervolgens kunt u het repository installeren met pip. De -e optie zal in “bewerkbare” modus installeren, wat nodig is bij installatie vanuit versiebeheer:

  1. pip install -e ~/django-dev

U kunt controleren of de installatie succesvol was door het volgende te typen:

  1. django-admin --version
Output
4.0.4.2

Nogmaals, de versie die u ziet weergegeven kan niet overeenkomen met wat hier wordt getoond.

U heeft nu de nieuwste versie van Django in uw virtuele omgeving.

Het maken van een voorbeeldproject

Met Django geïnstalleerd, kunt u beginnen met het bouwen van uw project. We zullen bespreken hoe u een project kunt maken en het kunt testen op uw ontwikkelingsserver met behulp van een virtuele omgeving.

Eerst, maak een map voor uw project en verander erin:

  1. mkdir ~/django-test
  2. cd ~/django-test

Vervolgens, maak uw virtuele omgeving:

  1. python3 -m venv my_env

Activeer de omgeving:

  1. source my_env/bin/activate

Installeer Django:

  1. pip install django

Om uw project te bouwen, kunt u django-admin gebruiken met het startproject commando. We zullen ons project djangoproject noemen, maar u kunt dit vervangen door een andere naam. startproject zal een map aanmaken binnen uw huidige werkmap die omvat:

  • A management script, manage.py, which you can use to administer various Django-specific tasks.
  • A directory (with the same name as the project) that includes the actual project code.

Om echter te voorkomen dat er te veel geneste mappen zijn, vertel Django om het beheerscript en de binnenste map in de huidige map te plaatsen (let op de eindpunt).

  1. django-admin startproject djangoproject .

Om de database te migreren (dit voorbeeld gebruikt standaard SQLite), laten we het migrate commando gebruiken met manage.py. Migraties passen alle wijzigingen toe die je hebt aangebracht aan je Django modellen op je databaseschema.

Om de database te migreren, typ:

  1. python manage.py migrate

Je ziet een uitvoer zoals het volgende:

Output
Operations to perform: Apply all migrations: admin, auth, contenttypes, sessions Running migrations: Applying contenttypes.0001_initial... OK Applying auth.0001_initial... OK Applying admin.0001_initial... OK Applying admin.0002_logentry_remove_auto_add... OK Applying admin.0003_logentry_add_action_flag_choices... OK Applying contenttypes.0002_remove_content_type_name... OK Applying auth.0002_alter_permission_name_max_length... OK Applying auth.0003_alter_user_email_max_length... OK Applying auth.0004_alter_user_username_opts... OK Applying auth.0005_alter_user_last_login_null... OK Applying auth.0006_require_contenttypes_0002... OK Applying auth.0007_alter_validators_add_error_messages... OK Applying auth.0008_alter_user_username_max_length... OK Applying auth.0009_alter_user_last_name_max_length... OK Applying auth.0010_alter_group_name_max_length... OK Applying auth.0011_update_proxy_permissions... OK Applying auth.0012_alter_user_first_name_max_length... OK Applying sessions.0001_initial... OK

Tenslotte, laten we een beheerdersgebruiker aanmaken zodat je de Djano beheerinterface kunt gebruiken. Laten we dit doen met het createsuperuser commando:

  1. python manage.py createsuperuser

Je wordt gevraagd om een gebruikersnaam, een e-mailadres en een wachtwoord voor je gebruiker.

Het wijzigen van ALLOWED_HOSTS in de Django-instellingen

Om je applicatie succesvol te testen, moet je een van de directieven in de Django-instellingen wijzigen.

Open het instellingenbestand door te typen:

  1. nano ~/django-test/djangoproject/settings.py

Binnenin, zoek de ALLOWED_HOSTS richtlijn op. Dit definieert een lijst met adressen of domeinnamen die gebruikt kunnen worden om verbinding te maken met de Django-instantie. Een inkomend verzoek met een Host header die niet in deze lijst staat, zal een uitzondering veroorzaken. Django vereist dat je dit instelt om een bepaalde klasse van beveiligingskwetsbaarheden te voorkomen.

In de vierkante haken, vermeld de IP-adressen of domeinnamen die geassocieerd zijn met je Django-server. Elk item moet tussen aanhalingstekens staan, met afzonderlijke vermeldingen gescheiden door een komma. Als je verzoeken voor een volledig domein en alle subdomeinen wilt, voeg dan een punt toe aan het begin van de vermelding:

~/django-test/djangoproject/settings.py
ALLOWED_HOSTS = ['your_server_ip_or_domain', 'your_second_ip_or_domain', . . .]

Wanneer je klaar bent, sla het bestand op en verlaat je editor.

Testen van de Ontwikkelingsserver

Zodra je een gebruiker hebt, kun je de Django-ontwikkelingsserver starten om te zien hoe een nieuw Django-project eruitziet. Je zou dit alleen voor ontwikkelingsdoeleinden moeten gebruiken. Wanneer je klaar bent om te implementeren, zorg er dan voor dat je de richtlijnen van Django voor implementatie zorgvuldig volgt.

Voordat je de ontwikkelingsserver probeert, zorg ervoor dat je de juiste poort opent in je firewall. Als je de initiële serverinstallatiehandleiding hebt gevolgd en UFW gebruikt, kun je poort 8000 openen door te typen:

  1. sudo ufw allow 8000

Start de ontwikkelingsserver:

  1. python manage.py runserver your_server_ip:8000

Bezoek het IP-adres van je server gevolgd door :8000 in je webbrowser:

http://your_server_ip:8000

Je zou iets moeten zien dat er zo uitziet:

Om toegang te krijgen tot de beheerinterface, voeg /admin/ toe aan het einde van je URL:

http://your_server_ip:8000/admin/

Dit brengt je naar een inlogscherm:

Als je de gebruikersnaam en wachtwoord van de beheerder invoert die je zojuist hebt aangemaakt, heb je toegang tot de hoofd-beheersectie van de site:

Voor meer informatie over het werken met de Django beheerinterface, zie “Hoe de Django beheerinterface in te schakelen en te verbinden.”

Als je klaar bent met het bekijken van de standaardsite, kun je de ontwikkelingsserver stoppen door CTRL-C in te typen in je terminal.

Het Django-project dat je hebt gemaakt, biedt de structurele basis voor het ontwerpen van een meer complete site. Bekijk de Django-documentatie voor meer informatie over het bouwen van je applicaties en het aanpassen van je site.

Conclusie

Je zou nu Django moeten hebben geïnstalleerd op je Ubuntu 22.04 server, waardoor je de belangrijkste tools hebt om krachtige webapplicaties te maken. Je zou ook moeten weten hoe je een nieuw project kunt starten en de ontwikkelingsserver kunt starten. Het gebruik van een compleet webframework zoals Django kan de ontwikkeling versnellen, waardoor je je alleen hoeft te concentreren op de unieke aspecten van je applicaties.

Als u meer informatie wilt over het werken met Django, inclusief diepgaande discussies over zaken als modellen en weergaven, raadpleeg dan onze Django-ontwikkelingsserie.

Source:
https://www.digitalocean.com/community/tutorials/how-to-install-the-django-web-framework-on-ubuntu-22-04