Wat is Django?

Erwin Matijsen 18-02-2021 Kennisbank Maatwerk

In de basis zijn veel webapplicaties gelijk: je werkt met gebruikers, er zijn bepaalde objecten die je wilt kunnen aanmaken, aanpassen en verwijderen — denk aan artikelen in je webshop of berichten op je blog. Er zijn verschillende pagina’s, een paar formulieren, een beheeromgeving…

Wat is Django?

Je kunt dit alles vanaf de grond zelf opbouwen, maar slimmer is om hier een framework voor te gebruiken. Een framework handelt veel voorkomende zaken voor je af, in het geval van een webframework zijn dit zaken als:

  • Inkomende verzoeken (url’s) vertalen naar de juiste pagina;
  • Verbinding maken met de database;
  • Pagina’s opbouwen met data uit de database (met behulp van templates);
  • Formulieren valideren en veilig verzenden;
  • Standaard oplossingen bieden voor werken met objecten (items in je winkel, blogs, gebruikers);

Django is zo’n framework. Het is geschreven in Python, gratis te gebruiken en zeer uitgebreid. In hun eigen woorden:

Django is a high-level Python Web framework that encourages rapid development and clean, pragmatic design. Built by experienced developers, it takes care of much of the hassle of Web development, so you can focus on writing your app without needing to reinvent the wheel. It’s free and open source.

Een paar bekende sites/bedrijven die gebruik maken van Django zijn Instagram, Mozilla (van Firefox) en The Washington Post.

Django of Wordpress

Ik hoor je denken: “Dus Django is vergelijkbaar met Wordpress?”

Ja en nee.

In theorie kun je met zowel Wordpress als Django praktisch hetzelfde resultaat bereiken. De insteek is echter heel anders.

Wordpress is begonnen als een platform om blogs te maken, en in de kern is dat nog steeds waar het om draait. Met plugins en eigen uitbreidingen kun je er wel veel meer mee, maar het zal dan toch voelen als een vierkant blokje in een rond gat willen duwen.

Django is in de kern gericht op applicaties - met wat voor dan functionaliteit dan ook. Je kunt het dus gebruiken om een CMS (zoals Wordpress) te maken, maar ook compleet andere applicaties. Daardoor is het zeer flexibel, maar ook complexer.

Wil je een eenvoudige website met een paar pagina’s en een blog, dan is Wordpress wellicht geschikter voor jou. Wil je echter een complete applicatie maken, dan is Django een verstandigere keuze.