Django
and how to install it

Na een periode aan de slag te zijn geweest als Scrum Master en Teamleider begint de hang naar ontwikkelen toch weer door te drukken. Kennis en kunde zullende wellicht wat roestig zijn en de remedie daar tegen is beginnen. In het verleden heb ik met Django gewerkt en het leek me goed dit weer op te pakken.


Wat is Django?

Django is een vrij webapplicatie-framework geschreven in Python volgens het model-view-controller-model. Django is vrijgegeven onder de BSD-licentie. De software is vernoemd naar de gitarist Django Reinhardt.

 
 
Online vind je ontzettend veel additionele informatie over het Django framework:

Installatie

De onderstaande voorbeelden geven de commando's voor Windows, Linux en Apple weer door middel van een icon.

 Installatie van pip


...\> python -m pip install

 

$ python -m pip install pip



 Upgraden pip naar laatste versie

Wanneer je pip reeds geïnstalleerd hebt is het slim om naar de laatste versie te upgraden.


...\> python -m pip install --upgrade pip

 

$ python -m pip install --upgrade pip



  Installeren Django


...\> pip install Django

 

$ pip install Django



Installatie kan ook door een git clone te trekken en deze in een virtuele omgeving te installeren op een plek die ook toegankelijk is voor de Python interpreter.

 Controleren installatie


...\> py -m django --version 

 

$ python -m django --version

Bij een succesvolle installatie zie je de geïnstalleerde versie van Django. Indien er iets mis is gegaan dan krijg je de melding: "No module named django".

 Creëren project


...\> django-admin startproject mysite 

 

$ django-admin startproject mysite


Hierdoor word een mysite directory aangemaakt in de directory waar vanuit je het commando geeft. Er zijn uitgebreide tutorails online wanneer er iets niet goed gaat. Problems running Django is hier een mooi voorbeeld van.

 De gecreëerde directory

mysite/
manage.py
mysite/
__init__.py
settings.py
urls.py
wsgi.py

Met daarin de volgende bestanden:

  • De mysite/ root folder is de container voor jouw project. De naam van de folder is ook niet releveant voor Django; je kan het naar eigen wens aanpassen. 

  • manage.py: Via de command-line utility kun je op verschillende manieren met het Djago project werken. Alle details over manage.py zijn terug te lezen in django-admin and manage.py.

  • De mysite/ folder 1 niveau lager is de eigenlijke Python package voor het project. De naam van deze folder is tevens de naam van de Pytthon package welke je nodig hebt om de inhoud hierin te importeren (bijvoorbeeld. mysite.urls).

  • mysite/__init__.py: Dit is een leeg bestand waardoor python weet dat de desbetreffende folder verwerkt moet worden als Python package. Meer informatie hierover is terug te vinden in de officiële Python documentatie.

  • mysite/settings.py: Settings/configuratie voor het Django project. Django settings geeft alle informatie over hoe de settings.py werkt. 

  • mysite/urls.py: De URL declaraties voor dit Django project; een “inhoudsopgave” van je Django-powered site. Je kunt meer informatie over URLs vinden in de URL dispatcher

  • mysite/wsgi.py: Een toegangspunt voor WSGI-compatible web servers voor het serveren van je project. Zie See How to deploy with WSGI voor meer details.


 De ontwikkel server


...\> py manage.py runserver

 

$ python manage.py runserver


Performing system checks...
System check identified no issues (0 silenced).
You have unapplied migrations; your app may not work properly until they are applied.
Run 'python manage.py migrate' to apply them.
October 30, 2019 - 15:50:53
Django version 2.2, using settings 'mysite.settings'
Starting development server at http://127.0.0.1:8000/
Quit the server with CONTROL-C.
Erwin van der Linde
30 oktober, 2019
Deel deze post
Archief