Many of us started out in web development due to a basic need: building a simple website, detailing some service, capability, or out of simple fun. Being lost in the vast amount of information – starting from pre-designed websites through much-acclaimed CMS systems to custom-designed and –coded solutions – it only happens after some time that one realizes: there is a handy, easy-to-learn yet powerful engine out there that empowers you to achieve anything a web developer can wish for. This engine is called Django.

 

How to imagine the goods Django can offer?

The way to approach the question is as follows. First of all, the question will be to what extent you’ll be able to control anything that happens on your website. Pre-designed solution look nice on the outside, but once you start customizing it, you’ll realise it looks good only as long as no screws are adjusted in the machine. Once ou’re able to control what happens there, you’ll notice there is a lot to understand.

 

Your website is an app

It is at this point that it becomes inevitable to look at your website as an (old-school) application. Remember computer games you used to launch by pressing enter on some ’.exe’ file? Many of us still have the perception of an app of something like that: a bunch of files in a common directory that launch the desired app/software.

To be clear, that is exactly what happens here. Any website contains several files on a server, the basic distinction being .html files (the structure and content of the website), CSS files (styling, colours, fonts) and JavaScript files for animations and more complex functionalities. Other extensions complement the picture and serve as the engine of backend functions, such as php or, in the case of Django, Python.

 

Simple is better

What Django excels in in this regard is its simplicity. Thanks to Python’s easy-to-read syntax, you’ll instantly gain an undestanding of the underlying code. That is an advantage even compared to php, ewhich is behind other well-known CMS’ such as WordPress and Drupal. If you’re to master those systems and become an expert website builder, you’ll have to familiarise yourself with php – or stick with Python/Django, which is by far easier yet at least as versatile.

To many of us, the moment you get to understand how simple it is to perform everyday functionalities is where doors get opened up. Need a new product in an e-commerce app? As simple as a model in Django.  A new function in the admin backend? All possible thanks to Django’s clear structures.

 

Start small, aim big

I’ll make the point that it’s better for the rookie developer to manage their website through plain vanilla HTML code than to resert to an open-source CMS. Why is that so? First, because you’ll realise that adding new pages the old-school way – that is creating a text file and moving that over to the server – does not take a minute longer than clicking through WordPress pressing buttons. Second, because it is this way that you’ll really get a grasp of what it takes to create something new on your own.